Skip to main content
 首页 » 编程设计

python之Django之如何创建一个简单的确认 View

2025年02月15日33yjmyzz

我正在尝试创建一个 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 按钮可见。