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

标签 python django django-class-based-views

我正在尝试创建一个 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/

相关文章:

python - 全局名称 'pk' 未定义 django

python - 如何计算递归函数中的案例数?

python - 从离散信号计算FFT特征

django createview 如何获取创建的对象

django - django如何在基于类的 View 中获取响应

python - tensorflow : Transform class name to class index

python - 在 Django 中使用元类

django - 推送Django项目时Heroku上出现 "Push rejected, no Cedar-supported app detected"如何解决?

django - 绑定(bind)参数 2 时出错 - 可能是不受支持的类型

Django按函数名称反向基于类的 View 不起作用