- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 Django,并且偶然发现了一些我需要帮助的东西:
forms.py
class UserForm(forms.ModelForm):
password1 = forms.CharField(widget=forms.PasswordInput())
password2 = forms.CharField(widget=forms.PasswordInput())
class Meta:
model = User
fields = ('username', 'email', 'password1','password2')
def password_matched(self):
if self.data['password1'] != self.data['password2']:
self.errors['password'] = 'Passwords do not match'
return False
else:
return True
def is_valid(self):
valid = super(UserForm,self).is_valid()
password_matched = self.password_matched()
if valid and password_matched:
return True
else:
return False
def register(request):
#blah...
user.set_password(user.password)
# user.set_password(user.password1) doesn't work ! WHY!?
pw1 == pw2
,
user.set_password(user.password1)
但它提示 User 对象没有
password1
,但是当我使用
password
时它起作用了.
最佳答案
理想情况下,您应该使用 clean
方法,永远不要碰is_valid
方法。
像这样的东西:
def clean(self):
cd = self.cleaned_data
password1 = cd.get("password1")
password2 = cd.get("password2")
if password1 != password2:
#Or you might want to tie this validation to the password1 field
raise ValidationError("Passwords did not match")
return cd
def register(request):
#blah...
form = UserForm(request.POST or None)
if request.method == "POST":
if form.is_valid(): #This would call the clean method for you
user = User.objects.create(...)
user.set_password(form.cleaned_data.get("password1"))
user.save()
else: #Form is invalid
print form.errors #You have the error list here.
关于django - 扩展 form.is_valid(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30227119/
我有两个模型 class Friend(models.Model): me = models.ForeignKey(User) friend = models.Foreig
在我的 Django 应用程序中,即使我添加了与管理应用程序相同的数据,表单也永远不会返回 true。我的 model.py 看起来像: from django.db import models fr
我有一个EmailField(primary_key=True)。我使用 ModelForm 向用户呈现表单,并在回发时调用 form.is_valid()。 我在该字段中看到两种类型的错误。一是主键
这是 models.py from django.db import models class RegisterForm(models.Model): fname = mode
我有一个 View ,它验证表单中的数据,该表单只包含有关项目的一些基本信息。我很困惑 is_valid即使在阅读后,方法也可以在这里工作 this .如果用户没有输入一些必填字段,如名称或图像 1,
我是网络开发的真正初学者。以下代码在 is_valid() 处失败检查。但我不明白为什么:表单是否应该从 POST 数据中获取其数据? 型号: class Statement(models.Model
伙计们!我有这个用户模型的序列化器类 class UserSerializer(serializers.ModelSerializer): username = serializers.Reg
git repo : django tutorial 我一直在关注上述 django 项目,该项目着眼于创建人与人之间的聊天。我遇到过这部分: def message_list(request, se
我正在学习 Django,并且偶然发现了一些我需要帮助的东西: forms.py class UserForm(forms.ModelForm): password1 = forms.Char
在我的 Django 应用程序中,我有一个从简单(非模型)表单创建的表单集,其中 extra=1 (以允许 javasript 稍后添加更多表单)。 class SomeForm(forms.Form
我在掌握如何执行此操作时遇到了一些麻烦。我已经尽最大努力搜索谷歌,但没有任何运气。 我将从一些代码开始并解释我正在尝试做的事情: 模型.py class Action(models.Model):
我有一个 django charField,通过 is_valid() 方法进行检查。用户应该在此字段中输入有效的逻辑表达式,因此我编写了一个解析方法,如果表达式不正确,该方法会引发异常。 如何增强
如何在调用 is_valid() 方法后更改表单字段值? 在使用 form.is_valid 验证数据后,我试图更改字段 u_id(这是必需的)。我可以更改数据,甚至可以将其显示在 HttpRespo
我正在尝试使用Django 1.10.5建立一个网站。目前,我正在研究一种在前端编辑数据库对象的方法。我的计划是定义一个表单“EditForm”,用户在其中输入要编辑的对象的ID。当我仅在实际站点上测
我有一个简单的 Django 代码。 models.py 文件中有我的模型和表单: from django.db import models from django.forms import Mode
问题 我正在尝试让 LightOpenID 与 Google Apps Enterprise 帐户一起使用。我收到“找不到服务器!”当我调用 validate() 时。我模拟了一个快速页面来测试 Li
我创建了一个表单,它是 forms.ModelForm。在“ View ”方面,我创建了一个 generic.UpdateView View 。 在这两个不同的类中,一侧有 is_valid(),另一
我有这些模型: class Gallery(models.Model): HeadImage = models.ImageField(upload_to="gallery",blank=True
Form.is_valid() 始终返回 false,并且从不显示任何类型的错误。以下是 forms.py、views.py 和 template/transaction_add_page.html
我使用 modelformset_factory 创建了一个简单的联系表单,以使用数据库模型在 View 中构建表单。我遇到的问题是 save() 之前的 is_valid() 检查不起作用。当我提交
我是一名优秀的程序员,十分优秀!