【发布时间】:2019-05-26 13:33:20
【问题描述】:
我正在学习 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 可供我使用来解决这个问题??
【问题讨论】:
-
Djang CharField 接受 bool、int、str、float 作为有效数据类型。对于其他类型,截至Github link,它将引发“不是有效字符串”的错误
标签: python django-forms