使Django表单像HTML输入标签一样

时间:2016-05-18 02:14:41

标签: python html django django-forms

所以我正在使用Django创建一个博客。我希望用户能够按日期搜索。在我切换到使用forms.py文件之前,我使用的表单包括:

<input type = "date">

当我这样做时,输入在输入框右侧有一个漂亮的小按钮,可以拉出预制日历。但是,当我的表单来自forms.py文件中的此代码时:

class Query(forms.Form):
blog_author = forms.ChoiceField(choices = AUTHOR_NAME_CHOICES, label = "Author", required = False)
blog_date = forms.DateField(label = "Publish Date", required = False)

它工作正常,但我丢失了日历HTML结构。我怎么能在那里得到它?

以下是search.html页面上的模板,供参考:

<form action = "/home/query/" method = "get">
    {% csrf_token %}
    {{ form.as_table }}
<input type = "submit" value = "Find">

1 个答案:

答案 0 :(得分:0)

我认为OP正在询问如何获得

&#13;
&#13;
<input type="date">
&#13;
&#13;
&#13;

html5内置表单功能正在发挥

您可以使用:


    custom_date = forms.CharField(label=u'Pick Date', widget = forms.TextInput(attrs={'type': 'date', })) 

以上将为您呈现html5类型=&#34;日期&#34;输出形式。

但请注意。

浏览器将为此html5功能提供不同甚至不存在的实现。您不应该依赖它,而是使用django相关的日期选择器或小工具来保证您跨浏览器UI。