Поймал AttributeError при рендеринге: у объекта 'str' нет атрибута '_meta' - PullRequest
1 голос
/ 16 марта 2011
def broadcast_display_and_form(request):

    if request.method == 'POST' :
        form = PostForm(request.POST)
        if form.is_valid():
            post = form.cleaned_data['post']
            obj = form.save(commit=False)
            obj.person = request.user
            obj.post = post
            obj.save()

            readers = User.objects.all()
            for x in readers:
                read_obj = BroadcastReader(person = x)
                read_obj.post = obj 
                read_obj.save()
            return HttpResponseRedirect('/broadcast')
    else :
        form = PostForm()
    posts = BroadcastReader.objects.filter(person = request.user)
    return render_to_response('broadcast/index.html', { 'form' : form , 'posts' : posts ,} )

Мой шаблон

{% extends "base.html"%} {% загрузки комментариев%}

{% block content %}
<form action='.' method='POST'>

    {{ form.as_p }}
<p>
  <input type="submit" value ="send it" /></input>  
</p>    
</form>

{% get_comment_count for posts.post as comment_count %}
{% render_comment_list for posts.post %}

{% for x in posts %}

    <p>
       {{ x.post.person }} - {{ x.post.post }}
    </p>

{% endfor %}    


{% endblock %}

1 Ответ

2 голосов
/ 17 марта 2011

Что должно быть posts.post? posts является BroadcastReader QuerySet и, вероятно, не имеет такого атрибута? Я предполагаю, что теги рендеринга комментариев вызывают вашу ошибку? Попробуйте удалить их или использовать posts.0 или аналогично debug.

Для какого "поста" вы хотите отображать комментарии? Логика вашего взгляда неясна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...