【问题标题】:Alternative form in UpdateView [closed]UpdateView 中的替代形式 [关闭]
【发布时间】:2018-05-15 05:32:51
【问题描述】:

我可以在 UpdateView 中使用替代形式吗?我的意思是如果它已经创建了 .我尝试使用'form_class',但它有异常:“ init() 得到了一个意外的关键字参数 'instance'"

Form: class ProfileForm(forms.Form):

name = forms.RegexField(regex=r'^\D+$', error_messages={'invalid':'Error Name'}, label='', widget=forms.TextInput({"placeholder": 'Имя'}),)
surname = forms.RegexField(regex=r'^\D+$', error_messages={'invalid':'Surname Name'}, label='', widget=forms.TextInput({"placeholder": 'Фамилия'}),)
patronymic = forms.RegexField(regex=r'^\D+$', error_messages={'invalid':'Patrh Name'}, label='', widget=forms.TextInput({"placeholder": 'Отчество'}),)
address = forms.RegexField(regex=r'^\D+$', error_messages={'invalid': 'Address incorrect'}, label='', widget=forms.TextInput({"placeholder": 'Массив/Улица'}), required=True)
flat = forms.RegexField(regex=r'^\d+\w+$', error_messages={'invalid':'Invalid Flat'}, label='', widget=forms.TextInput({"placeholder": 'Квартира'}),)
home = forms.RegexField(regex=r'^\d+\w+$', error_messages={'invalid':' Invalid Home'}, label='', widget=forms.TextInput({"placeholder": 'Дом'}),)
contact_number = forms.RegexField(regex=r'^\+?998\d{9,15}$', error_messages={'invalid':'Номер должен начинаться с +998'}, label='', widget=forms.TextInput({"placeholder": 'Контанктный номер '}),)
prefering_connection = forms.DateField(widget=forms.widgets.DateInput(attrs={'type': 'date'}))
tarrif = forms.ChoiceField(choices=Profile.tarrif_plans, label='Тарифный план')`

View: class Edit(UpdateView): model = Profile form_class = ProfileForm template_name = 'edit.html'

【问题讨论】:

  • form_class 可以使用。问题必须与您的表格有关。请同时使用您的表格更新您的问题。
  • @SandeepBalagopal 我做到了,你能帮帮我吗^_^?

标签: django


【解决方案1】:

您应该使用带有 UpdateView 的 ModelForm 而不是 forms.Form。

class ProfileForm(forms.ModelForm):
    class Meta:
        model = Profile

【讨论】:

  • 我很高兴,谢谢!
猜你喜欢
  • 2017-08-08
  • 1970-01-01
  • 2019-12-13
  • 2012-07-05
  • 2015-08-14
  • 2020-10-16
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多