Django形式is_valid在没有括号的情况下工作

瑞安

在我的代码的第6行,我忘记将括号添加到is_valid()中,但是我的代码在没有括号的情况下工作正常。为什么是这样?我仍然可以访问form.cleaned_data。填写表格后,信息将保存到我的数据库中,终端将显示打印功能。SignUp()是一个ModelForm。

views.py

def signup(request):
    form = SignUp()
    context = {'form': form}
    if request.method == 'POST':
        form = SignUp(request.POST)
        if form.is_valid:
            form.save()
            note = "Thanks {} for joining!".format(form.cleaned_data['firstname'])
            print("Name: {}".format(form.cleaned_data['firstname']))
            print("Age: {}".format(form.cleaned_data['age']))
            return render(request, 'one_app/sign_up.html', {'form': form, 'note': note})

    return render(request, 'one_app/sign_up.html', context)

models.py

class Members(models.Model):

    firstname = models.CharField(max_length=20)
    lastname = models.CharField(max_length=20)
    age = models.SmallIntegerField()
    sex = models.CharField(max_length=10, choices=SEX_CHOICES)
    employeed = models.BooleanField()
    start_date = models.DateField(auto_now_add=True)

    def __str__(self):
        return f"{self.firstname} {self.lastname}"

表格

class SignUp(forms.ModelForm):
    class Meta:
        model = Members
        fields = '__all__'
        labels = {
            'firstname': 'First Name:',
            'lastname': 'Last Name:'
        }
维沙尔·辛格(Vishal Singh)

每个ModelForm也都有一个save()方法。此方法从绑定到表单的数据创建并保存数据库对象。

您能够访问的原因 form.cleaned_data

请注意,如果表单尚未通过验证,调用save()将通过选中进行form.errors一个ValueError即如果-如果在表单中的数据不验证将提高form.errors评估为True

如果您尝试省略声明form.save()的内部if声明你的代码将引发错误。

第一次调用is_valid()或访问错误时,将验证表单的数据。


您能够访问,form.cleaned_data因为在form.save()调用时会对其进行内部检查,form.errors以确保创建了正确的Model实例。
现在,如文档所述,form.cleaned_data在您致电form.is_valid()或访问时都可用,form.errors在这种情况下,在form.save()呼叫过程中访问了表格错误
希望现在您了解了为什么能够访问form.cleaned_data

https://docs.djangoproject.com/zh-CN/3.0/topics/forms/modelforms/#the-save-method

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

@Valid是否可以在@RestController上没有@Validated的情况下工作?

来自分类Dev

django unique一起无法在没有日期时间的情况下工作

来自分类Dev

Django上的curl请求在没有csrf令牌的情况下工作

来自分类Dev

laravel是否可以在没有mcrypt的情况下工作?

来自分类Dev

使jQuery Tabs在没有<a>标记的情况下工作

来自分类Dev

使jQuery Tabs在没有<a>标记的情况下工作

来自分类Dev

KVM可以在没有libvirt的情况下工作吗?

来自分类Dev

AngularJs是否可以在没有引导的情况下工作

来自分类Dev

jQuery无法在没有Alert()的情况下工作

来自分类Dev

FileWriter仅在没有GUI的情况下工作

来自分类Dev

url如何使用htaccess在有或没有尾部斜杠的情况下工作

来自分类Dev

为什么有些jsfiddle示例可以在没有外部URL的情况下工作

来自分类Dev

是什么让fmap在没有显式方法声明的情况下工作?

来自分类Dev

mongoose.mongo.MongoClient.connect()是否可以在没有mongo shell的情况下工作?

来自分类Dev

AngularJS:使UI-Router在没有URL的情况下工作

来自分类Dev

可以在没有has_many或has_one的情况下工作

来自分类Dev

DropDownList的SelectedIndexChanged()如何在没有PostBack的情况下工作?

来自分类Dev

为什么这个指向函数的指针在没有警告或错误的情况下工作?

来自分类Dev

Thread类的静态睡眠方法如何在没有访问“ this”引用的情况下工作?

来自分类Dev

剂量phpMyAdmin可以在没有config.inc.php的情况下工作吗?

来自分类Dev

Java的泛型类型没有在这种情况下工作

来自分类Dev

React句柄更改功能可以在没有参数事件的情况下工作

来自分类Dev

可以在没有has_many或has_one的情况下工作

来自分类Dev

为什么方法wait()在没有notify()的情况下工作?

来自分类Dev

shell脚本仍可以在没有#的情况下工作!(sha-bang行)

来自分类Dev

AngularJS:使UI-Router在没有URL的情况下工作

来自分类Dev

ActivityRecognition API可以在没有数据连接的情况下工作吗?

来自分类Dev

Celery可以在没有代理和后端运行的情况下工作

来自分类Dev

Shoulda / Minitest redirect_to {url_helper}不能在没有哈希的情况下工作

Related 相关文章

  1. 1

    @Valid是否可以在@RestController上没有@Validated的情况下工作?

  2. 2

    django unique一起无法在没有日期时间的情况下工作

  3. 3

    Django上的curl请求在没有csrf令牌的情况下工作

  4. 4

    laravel是否可以在没有mcrypt的情况下工作?

  5. 5

    使jQuery Tabs在没有<a>标记的情况下工作

  6. 6

    使jQuery Tabs在没有<a>标记的情况下工作

  7. 7

    KVM可以在没有libvirt的情况下工作吗?

  8. 8

    AngularJs是否可以在没有引导的情况下工作

  9. 9

    jQuery无法在没有Alert()的情况下工作

  10. 10

    FileWriter仅在没有GUI的情况下工作

  11. 11

    url如何使用htaccess在有或没有尾部斜杠的情况下工作

  12. 12

    为什么有些jsfiddle示例可以在没有外部URL的情况下工作

  13. 13

    是什么让fmap在没有显式方法声明的情况下工作?

  14. 14

    mongoose.mongo.MongoClient.connect()是否可以在没有mongo shell的情况下工作?

  15. 15

    AngularJS:使UI-Router在没有URL的情况下工作

  16. 16

    可以在没有has_many或has_one的情况下工作

  17. 17

    DropDownList的SelectedIndexChanged()如何在没有PostBack的情况下工作?

  18. 18

    为什么这个指向函数的指针在没有警告或错误的情况下工作?

  19. 19

    Thread类的静态睡眠方法如何在没有访问“ this”引用的情况下工作?

  20. 20

    剂量phpMyAdmin可以在没有config.inc.php的情况下工作吗?

  21. 21

    Java的泛型类型没有在这种情况下工作

  22. 22

    React句柄更改功能可以在没有参数事件的情况下工作

  23. 23

    可以在没有has_many或has_one的情况下工作

  24. 24

    为什么方法wait()在没有notify()的情况下工作?

  25. 25

    shell脚本仍可以在没有#的情况下工作!(sha-bang行)

  26. 26

    AngularJS:使UI-Router在没有URL的情况下工作

  27. 27

    ActivityRecognition API可以在没有数据连接的情况下工作吗?

  28. 28

    Celery可以在没有代理和后端运行的情况下工作

  29. 29

    Shoulda / Minitest redirect_to {url_helper}不能在没有哈希的情况下工作

热门标签

归档