Django UpdateView forms
我有一个看起来像……
1 2 3 4 5 | #forms.py class ExampleForm(forms.Form): color = forms.CharField(max_length=25) description = forms.CharField(widget=forms.Textarea, max_lenght=2500) |
我的观点是这样的……
1 2 3 4 5 6 7 8 9 10 11 | #views.py class EditExample(UpdateView): model = Example fields = ['color', 'description'] template_name = 'example.html' def get_success_url(self): pass |
模板:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #example.html {% for field in form %} {% if field.errors %} <label class="control-label">{{ field.label }}</label> {{ field }} <span class="help-inline"> {% for error in field.errors %}{{ error }}{% endfor %} </span> {% else %} <label class="control-label">{{ field.label }}</label> {{ field }} {% if field.help_text %} <p class="help-inline"><small>{{ field.help_text }}</small> </p> {% endif %} {% endif %} {% endfor %} |
呈现模板时,所有字段都会显示并正确填充,但"说明"不会显示在文本区域中,而是显示在普通字段中。我假设这是因为UpdateView不使用"model=something"而不是"form=something"。
我试过了。
1 2 3 4 5 6 7 8 | #views.py class EditExample(UpdateView): model = Example form_class = Exampleform template_name = 'example.html' def get_success_url(self): pass |
但我得到一个django错误,说"init()得到了一个意外的关键字参数'instance'。
是否有任何方法可以使用UpdateView在文本区域中成功获取要呈现的描述?如果没有,我将如何实现这一点?
谢谢!
您的窗体需要从