渲染时捕获AttributeError:'str'对象没有属性'_meta'

时间:2011-03-16 17:44:52

标签: django frameworks comments

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”%} {%load comments%}

{% 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 个答案:

答案 0 :(得分:2)

posts.post应该是什么? postsBroadcastReader QuerySet,可能没有这样的属性?我猜测评论渲染标签是否会导致您的错误?尝试删除它们,或使用posts.0或类似的调试。

你真的想在哪个“帖子”上显示评论?你的观点逻辑不清楚。

相关问题