在Django的一些观点中,我遇到了一个非常混乱的问题。我创建了Update和Create视图,它们都使用通用版本,都使用相同的模板。他们使用perfectly...until --我添加了一个自定义modelForm来排除字段。现在,Create视图仍然正常工作,但是Update视图根本不会呈现表单。
表格:
class member_form(ModelForm):
class Meta:
model=member
exclude=('created_by',)
视图:
class member_detail(generic.UpdateView):
form_class=member_form
model=member
template_name_suffix='_detail'
class member_create(generic.CreateView):
form_class=member_form
model=member
template_name_suffix='_detail'
网址(main):
url(r'^members/',include(members.urls',namespace=members),name='members_list'),
网址(app):
url(r'^$',login_required(views.member_list.as_view()),name='index'),
url(r'^(?P<pk>\d+)/$',login_required(views.member_detail.as_view(success_url=".")),name='detail'),
url(r'^new/$',permission_required('members.add_member')(views.member_create.as_view(success_url='/members/')),name='create'),
在我添加form_class之前,这两种视图都非常有效。现在,member_create仍然工作得很好,但是member_detail没有显示{{ form.as_table }}。当我在模板中切换到{{ form }时,我得到了member_detail:
<members.views.member_form object at 0x7f7de3f20d50>
这里发生了什么事?有什么想法吗?谢谢!
发布于 2013-07-30 18:20:52
这个问题是我在产品代码上的一个愚蠢的命名错误,我在试图编辑新的部分来添加这个问题时发现了这个错误;我问题中的_create和_form对象在生产中都被命名为_form。
https://stackoverflow.com/questions/17891178
复制相似问题