当前位置:  开发笔记 > 后端 > 正文

Django 1.2 - 带有模板中的表单的Pb(WSGIRequest)

如何解决《Django1.2-带有模板中的表单的Pb(WSGIRequest)》经验,为你挑选了1个好方法。

我正在尝试在模板上显示一个表单,但是我得到了一个很棒的错误:

渲染时捕获AttributeError:'WSGIRequest'对象没有属性'get'

错误在这一行:{%for form in form.visible_fields%}

我的看法 :

def view_discussion(request, discussion_id):
 discussion = get_object_or_404(Discussion, id=discussion_id)
 form = BaseMessageForm(request)

 return render(request,'ulule/discussions/view_discussion.html', {
  'discussion':discussion,
  'form':form,
 })

我的表格:

class BaseMessageForm(forms.Form):
 message_content = forms.CharField(widget=forms.HiddenInput())

我的模板:

{% csrf_token %} {% for field in form.visible_fields %}
{% if forloop.first %} {% for hidden in form.hidden_fields %} {{ hidden }} {% endfor %} {% endif %} {{ field.errors }} {{ field.label_tag }}: {{ field }}
{% endfor %}

非常感谢你的帮助 !



1> shylent..:

如果我没有记错,你所得到的错误是因为你有形式的初始化错误的签名:第一个参数是"数据",而你的情况存在于request.POST(而不是请求本身),如果你正在抵达POST.

通常,带有表单的视图看起来像这样:

def my_view(request, ...):
    if request.method == 'POST': # The form has been submitted
        form = MyForm(request.POST)
        if form.is_valid():
            # do whatever you want here, save the form, etc
    else:
        form = MyForm()
    return render_to_response('myform.html', ... )

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有