如果CreateView和UpdateView使用相同的模板"model_form.html",那么在模板中,如果我创建或更新表单,我将如何区分?
我的一般观点如下
class AuthorCreateView(CreateView):
form_class = AuthorForm
model = Author
class AuthorUpdateView(UpdateView):
form_class = AuthorForm
model = Author
Run Code Online (Sandbox Code Playgroud)
AuthorForm如下
class AuthorForm(ModelForm):
class Meta:
model = Author
fields = ('first_name', 'last_name')
Run Code Online (Sandbox Code Playgroud)
我的模板如下
<form action="" method="post">
{% csrf_token %}
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td>First Name</td>
<td>{{ form.first_name.errors }}{{ form.first_name }}</td>
</tr>
<tr>
<td>Last Name</td>
<td>{{ form.last_name.errors }} {{ form.last_name }}</td>
</tr>
</table>
{% if form.isNew %}
<input type="submit" value="Update Author" />
{% else %}
<input type="submit" value="Add Author" />
{% endif %}
</form>
Run Code Online (Sandbox Code Playgroud)
在我的模板中,我想区分创建和更新视图?
小智 24
宾语
使用CreateView时,您可以访问self.object,它是正在创建的对象.如果尚未创建对象,则该值将为None.
宾语
使用UpdateView时,您可以访问self.object,即正在更新的对象.
{% if object %}
<input type="submit" value="Update Author" />
{% else %}
<input type="submit" value="Add Author" />
{% endif %}
Run Code Online (Sandbox Code Playgroud)
Dan*_*man 23
在更新视图中,将会有一个form.instance,而form.instance.pk不是None.在创建视图中,可能有也可能没有form.instance,但即使存在form.instance.pk无.
| 归档时间: |
|
| 查看次数: |
4911 次 |
| 最近记录: |