Django表单中的日期字段

2024-09-27 20:14:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在django表单中使用DateField输入。据我所知,我一直很好地遵循文档,但每次都没有通过验证

这是表单类-

class dForm(forms.Form):
    date = forms.DateField(input_formats = ["%d/%m/%Y",])

这是视图文件-

def index(request):
    if request.method == 'GET':
        form = dForm()
        return render(request, 'index.html', { 'form' : form })
    else:
        data = dForm(request.POST)
        if data.is_valid():
            return HttpResponse('ok')
        else:
            return HttpResponse('not ok')

这是模板-

<!DOCTYPE html>
<html>
<body>
    <form method="post">
        {% csrf_token %}
        {{ form }}
    <input type="submit">
</form>
</body>
</html>

(这只是一个试用项目,其中没有任何其他视图或表单。)

我发现这个答案也有同样的问题-

https://stackoverflow.com/questions/9410058/django-forms-datefield-fails-validation

但是这个解决方案对我不起作用


Tags: djangoform视图表单inputindexreturnif
2条回答

好的,我算出了,在格式字符串中,我输入了%Y,它需要输入四位数的年份,但我一直都在输入两位数的年份

我不确定,但也许你应该把data = dForm(request.GET)改成data = dForm(request.POST)

相关问题 更多 >

    热门问题