簡體   English   中英

Django:帶有form_class的generic.UpdateView不會呈現表單

[英]Django: generic.UpdateView with form_class won't render form

我在Django中的某些視圖上遇到了一個令人困惑的問題。 我創建了Update和Create視圖,它們都使用通用版本,並且都使用相同的模板。 他們工作得很好...直到我添加了一個自定義的modelForm來排除字段。 現在,“創建”視圖仍然可以正常工作,但是“更新”視圖根本不會呈現表單。

形成:

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'

Urls(主要):

url(r'^members/',include(members.urls',namespace=members),name='members_list'),

網址(應用程式):

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>

這里發生了什么? 有任何想法嗎? 謝謝!

問題是我自己在生產代碼上的一個愚蠢的命名錯誤,這是我在嘗試編輯新的部分以添加到問題時發現的。 我的問題中的_create和_form對象在生產中都被命名為_form。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM