相关疑难解决方法(0)

django - 如何在验证之前处理/清理字段

我有一个表单,只有在清理后才需要验证.

你跑的时候会发生什么form.is_valid()?表单是否已清理,然后表单的已清理版本已经过验证?

我现在得到的行为是,如果我的领域在清洁之前没有通过验证,即使清洁会让它通过,也会is_valid()返回False.

难道我做错了什么?

码:

# View
class ContactForm(forms.Form):
    message = forms.CharField(widget=forms.Textarea, max_length=5)

    def clean_message(self):
        message = self.cleaned_data['message']
        return message.replace('a', '') # remove all "a"s from message

def contact(request):
    if request.method == 'POST':
        if form.is_valid():
            return HttpResponseRedirect('/contact/on_success/')
        else:
            return HttpResponseRedirect('/contact/on_failure/')
Run Code Online (Sandbox Code Playgroud)

如果邮件少于5个字符包括我想要form.is_valid()返回!Truea

是否可以clean_<fieldname>()追赶to_python()但之前run_validators()?或者我应该采取其他方式吗?

django validation django-forms

26
推荐指数
1
解决办法
4万
查看次数

Django字符串到日期格式

我想将我的字符串日期转换为django日期格式.我尝试了一种方法.但没有奏效.

date = datetime.datetime.strptime(request.POST.get('date'),"Y-mm-dd").date()
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误.

time data '2014-04-07' does not match format 'Y-mm-dd'
Run Code Online (Sandbox Code Playgroud)

我的代码出了什么问题.

python django datetime

23
推荐指数
4
解决办法
4万
查看次数

标签 统计

django ×2

datetime ×1

django-forms ×1

python ×1

validation ×1