首页 > 解决方案 > Django 接受一个整数到 CharField

问题描述

我正在学习 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,它只是接受并验证所有字段,尽管它确实将它转换integerstring第一个。

这不是很明显的问题吗?我的意思是我不想在Author field. 我需要写我的附加内容clean_author method还是我有任何其他django Form class可以解决的问题?

标签: pythondjango-forms

解决方案


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

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

exp = '[\w\s]+'

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

https://regexr.com/使用这个网站来制作你的正则表达式。


推荐阅读