【问题标题】:Django - add & delete & update a model in a single viewDjango - 在单个视图中添加、删除和更新模型
【发布时间】:2018-07-27 10:06:40
【问题描述】:

如何在一个 views.py 中添加新实例、删除实例和更新模型实例?

目前我的 views.py 看起来像这样:

class BHA_UpdateView(UpdateView):
    template_name = 'bha_test.html'
    model = BHA_List
    pk_url_kwarg = 'pk_alt'
    fields = '__all__'

我知道我可以使用表单更新当前模型实例:

  <form method="POST">
    {% csrf_token %}
    {{ form.as_p }}
    <input type="submit" class='btn btn-primary' value="Submit">
  </form>

但是如果我想在同一个页面上进行删除、创建和更新呢?如果我想在单个页面中添加、删除和更新模型实例,我不确定该怎么做。

理想情况下,如果用户点击页面上的Delete,或CreateUpdate 按钮,将显示一个模式屏幕,在该模式屏幕内,用户将能够做任何他想做的事情去做。

我该怎么办?是否可以继承多个 CBV,例如:class BHA_UpdateView(UpdateView, CreateView, DeleteView):?如果没有,我该怎么办?

【问题讨论】:

标签: django django-models django-forms django-views django-class-based-views


【解决方案1】:

您可以通过创建不同的表单并赋予它们不同的名称并按照名称处理这些表单来实现(使用 if )。假设删除它将删除对象并重定向到该页面,对于提交表单它将创建对象并重定向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-09
    • 2022-10-14
    • 1970-01-01
    • 2016-07-01
    • 2016-12-23
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    相关资源
    最近更新 更多