我正在一个网站上,同时也在一个移动应用程序上。

对于网站,我为User模型创建了Django表单,该表单覆盖了clean和valid_方法以提供自定义验证。

对于移动应用程序,我正在执行一个REST API,该API公开并终结点以为此使用Tastypie创建新用户。

我的疑问是我应该在哪里以及如何使用DRY原理为用户模型定义自定义验证。

我可以根据用户在移动应用程序中提供的数据创建UserForm,然后使用is_valid()方法验证数据,但该表单包含password_confirm字段,该字段也经过验证,并且在应用程序中该字段不存在。

我应该为移动应用程序创建一个用户窗体吗? 我应该将这些验证移至模型类吗?

#1楼 票数:0

最简单的方法可能是对表单进行子类化。 创建一个没有password2字段的LoginForm,并将其用于移动登录API。 然后,创建一个名为WebLoginForm的子类,并添加password2字段,以及一个包含验证逻辑的clean_password2()方法。 这样,您甚至不需要覆盖任何其他clean()代码。

甚至更容易(虽然有点骇人听闻)的解决方案是让移动应用程序在调用API时提交用户写成“ password1”和“ password2”的密码。

  ask by imarban translate from so

未解决问题?本站智能推荐:

1回复

Django:以模型形式更改字段类型,然后将其应用于模型类

我有一堂课Book : 链接到Author类: 我有一个Book类的表单,叫做BookForm 我想用足够简单的BookForm创建Books,但是我希望用户能够输入文本(用逗号分隔),而不是像默认情况下那样从列表中挑选作者(因为它是ManyToManyField)。每个作者姓名的字
2回复

将模型验证应用于ModelForm的方法?

我在我的模型中用clean方法编写了一些验证,如下所示: 我想使用这个逻辑(而不是ModelForm.clean)来验证MyModel的模型表单。 我预计它看起来像: 但这不起作用。 我想这样做的两个原因是 我希望验证应用于所有MyModel,所以这似乎是最干的方式。 我
3回复

Django2模型1表格

因此,我仍然对Django完全不了解,我想知道如何执行以下操作: 因此,可以说我有类似以下代码的内容: 现在如何创建一个包含以上两个模型的表单?
2回复

django模型表格

我有一个非常简单的模型形式,但是由于某种原因,代码无法同步数据库并引发错误:AttributeError:'module'对象没有属性'CharField' 代码如下(在我的models.py中): dpasted代码位于: http ://dpaste.com/607823/ 我想
1回复

django模型表格自动编辑

我有一个小问题:)我想直接使用Django模型添加/编辑用户。 我做到了: 对于编辑,我想做与添加相同的操作,就像这样:只是一个 但是它不起作用...它创建了一个新用户。 我该怎么做? 多谢你们 !
1回复

django上传文件(模型和表格)

我与django一起进行小组项目。 我的文件上传有问题。 它是一个Web应用程序,用于创建,共享带有一些其他选项(图形,图表等)的表单。 我应该提到我是django的新手(总初学者) 1.models.py : 2. Forms.py: 3.当然,我进行了迁移,更改了主要设置(
1回复

模型表格不是使用django模型表格自动生成的

我正在使用模型表单创建 Django 表单,因为我希望自动创建表单,但是当我创建此代码时,表单没有出现在 index.html 页面中模型.pyfrom django.db import modelsclass BaseCase(models.Model): base_case_name =
2回复

django模型设计用于3个链表

我打算在Django中设计一个基于Web的数据库。 在我的页面上,所有议会问题著作都是自动完成的。 这是表的样本: 在我的输入表格中,将有许多字段,包括部和司字段。 如上表所示,当我选择第1组时,所有三个部委A,B,C都将作为下拉列表进入“部委”字段下。 同样,当我从下拉菜单中选