基于类的视图上的 Django 表单验证

2024-01-15

我有一个非常简单的基于类的视图:

在views.py中:

class IncidentEdit(UpdateView):
    model=Incident
    fields = visible_field_list
    sucess_url = '/status'

按原样工作正常。我已关联CreateView, DeleteView等等。我可以创建编辑和删除记录。现在为了微调项目,我需要添加字段验证。

我的问题:当我基于视图时,我应该在哪里放置基本验证代码'model='而不是'form='?

我可以更改所有内容以使用基于表单的视图,但整个想法是保持简单并且有效,除了模型声明中定义的基本“字段必需”类型验证之外,我只是没有表单验证。

例如, 我需要确保一个字段等于其他两个字段的总和。喜欢,

ClassRoomTotal = NumBoys + NumGirls

并提出一个validation error为了ClassRoomTotal如果总和与总计不匹配,则显示该字段。

提前致谢。
我知道这是一个简单的答案。

诸如“你不能那样做,你必须使用form=IncidentForm并定义一个表单类。”会有所帮助。


class IncidentEdit(UpdateView):

    ...

    def form_valid(self, form):
        if form.cleaned_data['email'] in \
        [i.email for i in Incident.objects.exclude(id=get_object().id)]:
            # Assume incident have email and it should be unique !!
            form.add_error('email', 'Incident with this email already exist')
            return self.form_invalid(form)
        return super(IncidentEdit, self).form_valid(form)

另外,希望这个链接有用。http://ccbv.co.uk/projects/Django/1.7/django.views.generic.edit/UpdateView/ http://ccbv.co.uk/projects/Django/1.7/django.views.generic.edit/UpdateView/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于类的视图上的 Django 表单验证 的相关文章

随机推荐

  • 简单的pthread! C++

    我不知道为什么这不起作用 include
  • Avalon Dock 浮动锚定物能否更加独立于其父级?

    我有一个 AvalonDock DockingManager 控件 其中包含一些子锚定对象 无文档 如果这些 Anchorables 从主 DockingManager 浮动 我知道它们仍然是 DockingManager 逻辑树的一部分
  • AttributeError:模块“keras.backend”没有属性“image_dim_ordering”

    我尝试执行一些教程迁移学习项目 但我遇到属性错误 我检查了我的tensorflow和keras版本 张量流 1 14 0 喀拉斯 2 2 5 和 python 3 6 9 版本 代码在这里 if K image dim ordering t
  • 初始缩放在 d3 v4 中不起作用

    我已经进口了zoom像这样 import zoom from d3 zoom My svg和组container看起来像这样 const svg select root append svg attr width width attr he
  • Powershell 脚本查询 AD 中特定 OU 的计算机名称并导出

    我几乎 完全阅读 PowerShell 新手 我正在开发一个项目来清点我们网络上某些计算机上安装的软件 我找到了一个脚本来处理软件清单部分 但它依赖于带有计算机名称的文本文件进行扫描 我正在寻找一种方法来查询 AD 中特定 OU 的计算机名
  • const string& 构造函数和模板化 std::set find 的分段错误

    以下代码遇到了段错误const string 构造函数 并以 0 退出string view构造函数 我知道const string 这不是最好的方法 但根据我的理解 如果没有优化 临时string是由构造而成const char 然后它的
  • java中的@符号[重复]

    这个问题在这里已经有答案了 到底是做什么的 Object field做 我正在阅读一些从反编译器获取的代码 它用 Object name field stuff field stuff public static Object fieldN
  • 类型提示:方法应该接受任何 $art 对象

    我有一个 Collection 类 它有一个 add 方法 add 方法应该只接受对象 所以这是期望的行为 x 5 arbitrary non object obj new Foo arbitrary object collection n
  • 我可以使用变量来控制我使用的 PictureBox 吗?

    有没有办法可以使用变量来控制我在 Visual Basic 中使用的 PictureBox I e CurrentNumber 1 PictureBox CurrentNumber backcolour backcolour 您可以使用Me
  • 处理 BackGroundWorker 的正确方法

    这是处理 BackGroundWorker 的正确方法吗 我不确定在调用 Dispose 之前是否有必要删除事件 在 RunWorkerCompleted 委托中调用 Dispose 也可以吗 public void RunProcessA
  • Haskell中如何进行复杂的IO处理和隐式缓存?

    在较大的应用程序中 通常存在多层 IO 缓存 Hibernate L1 和 L2 Spring 缓存等 这些缓存通常是抽象的 以便调用者不需要知道特定的实现执行 IO 但有一些注意事项 范围 事务 它允许组件之间的接口更简单 例如 如果组件
  • 您可以在 Android Wear 的 GridViewPager 中使用 WatchViewStub 吗?

    我有一个 WatchViewStub 它本身工作得很好 它在适当的方形或圆形 Android Wear 模拟器上显示正确的布局 但是 当我尝试在 GridViewPager 中使用 WatchViewStub 时 即使在圆形模拟器上 它也始
  • OAuth 2.0 两条腿和三腿实现之间的区别

    您能解释一下 OAuth 2 0 两条腿和三腿实现之间的区别吗 以及如何选择呢 哪些适合我 首先 腿是指所涉及的角色 典型的 OAuth 流程涉及三方 最终用户 或资源所有者 客户端 第三方应用程序 和服务器 或授权服务器 因此 三足流涉及
  • 如何删除sparql查询中的重复项

    我写了这个查询并返回情侣列表和特定条件 在http live dbpedia org sparql http live dbpedia org sparql SELECT DISTINCT actor person2 cnt WHERE s
  • 如何计算内核的 Gflops

    我想要衡量我的内核归档了多少峰值性能 假设我有一个 NVIDIA Tesla C1060 它有一个峰值 GFLOPS 为 622 08 http en wikipedia org wiki Nvidia Tesla 240 核 1300MH
  • Fortran 中 DIMENSION CLIPG(1) 语句的概念理解

    在处理一些遗留代码时 我发现了以下 Fortran 函数声明 下面的代码片段显示了函数声明和参数声明 我相信 Fortran 是一种不区分大小写的语言 SUBROUTINE CLIP2G fcut TIME NUMS NUMG CLIPG
  • 重写方法时访问说明符

    假设您有一个使用访问说明符 public 定义虚拟方法的类 您可以更改重写方法上的访问说明符吗 我假设不会 寻找解释 答案是 有点 您只能更改派生类有权访问的成员的访问权限 继承类型没有任何影响 这只控制继承成员的默认访问权限 在某种程度上
  • 使用 vb6 连接字符串

    我正在尝试在 vb6 中连接 不支持运算符 我想做类似下面代码的操作 我想在程序处理此代码时向文本框添加更多字符串 谁能建议将 更改为什么 我知道将一个字符串添加到另一个字符串时可以使用 但就我在这里正在处理的示例而言 这似乎不合适 Tha
  • Java 1.8 和 Mockito 1.9.5 出现编译错误

    切换到Java 1 8后 JDK 我的一些测试类无法编译 实现类示例 import java util concurrent Callable import java util concurrent Future public class
  • 基于类的视图上的 Django 表单验证

    我有一个非常简单的基于类的视图 在views py中 class IncidentEdit UpdateView model Incident fields visible field list sucess url status 按原样工