Django将一个整数接受到CharField

时间:2018-12-28 19:23:08

标签: python django-forms

我正在学习django,并像这样创建了Page form class

from django import forms

class Page(forms.Form):
    title  = forms.CharField(max_length = 200, min_length = 10)
    body   = forms.CharField(min_length = 200, max_length = 8000)
    author = forms.CharField(min_length = 5, max_length   = 60)
    price  = forms.FloatField(min_value = 10, max_value   = 50)

我在交互式外壳程序中弄弄了它,发现当我输入integer时,尽管它首先将integer转换为string,但它只是接受并验证了所有字段。 。

这不是很明显的问题吗?我的意思是我不需要Author field中的任何数字或任何符号。我是否需要写其他clean_author method或我有其他django Form class来解决这个问题?

1 个答案:

答案 0 :(得分:1)

没有可以验证此类数据的字段类型。

您可以使用后端或前端上的正则表达式轻松验证用户输入的数据。

exp = '[\w\s]+'

这将只接受最适合作者姓名的单词和空格

https://regexr.com/使用此网站进行正则表达式。