我正在尝试创建一个 View ,要求用户在其中确认更新实例值的操作。我希望 View 只有一个提交按钮。我想要的类似于 DeleteView,除了我想要的是更新记录的值而不是删除记录。
我尝试过使用基于类的 UpdateView,但它要求我指定一个字段参数,我必须在其中至少指定一个字段,我不想显示任何字段,只显示提交按钮。
这是我的模板现在的样子:
<h4>Complete {{ item.name }}?</h4>
<form method='POST' class="gia-form">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" class="button" value="Complete Item">
<a href="{% url 'items:home' %}">Cancel</a>
</form>
View 的网址:
url(r'^action/complete-item/(?P<pk>\d+)/$', views.CompleteItemView.as_view(), name='complete'),
我的更新 View :
class CompleteItemView(UpdateView):
model = models.Item
template_name = 'items/complete_item.html'
fields = ("status",)
def form_valid(self, form):
form.instance.status = 'completed'
return super().form_valid(form)
上面我选择显示状态字段,这是我试图以一种优雅的方式摆脱的,因为我只想显示没有任何字段的确认按钮。
最佳答案
代替
{{ form.as_p }}
你可以简单地写
<input name="{{ form.status.html_name }}" id="{{ form.status.id_for_label }}"
value="{{ form.status.value }}" type="hidden">
这将使 status
字段隐藏,只有 Submit
按钮可见。
关于python - Django - 如何创建一个简单的确认 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43830509/