Django SelectDateWidget无法正确呈现

时间:2019-02-21 09:03:29

标签: python django html5 django-forms django-widget

我正在尝试在Django中渲染内置的SelectDateWidget,但是在网页中它显示为

<django.forms.widgets.SelectDateWidget object at 0xb4f6bc6c> Submit

我是Django的新手,我阅读了文档并在Internet上查找了内容,但无法提出解决方案。

这是我的

views.py

from django.shortcuts import render
from django.forms.widgets import SelectDateWidget

def yillik(request):
    form = SelectDateWidget()
    return render(request, 'izinyillik.html', {'form': form})

izinyillik.html

<form method="post">
     {% csrf_token %}
     {{ form }}
     <button type="submit">Submit</button>
</form>

2 个答案:

答案 0 :(得分:2)

您不能像这样单独使用小部件。小部件需要位于一个字段中,而该字段又需要位于一个表单上。您需要同时声明它们:

class MyForm(forms.Form):
    my_field = forms.DateField(widget=SelectDateWidget)

答案 1 :(得分:0)

问题是您正在渲染小工具,您应该使用表单

创建表单

forms.py

from django import forms
class MyForm(forms.Form):
    date= forms.DateField(widget=forms.extras.widgets.SelectDateWidget)

views.py 中:

from django.shortcuts import render
from forms import MyForm
def yillik(request):
    form = MyForm()
    return render(request, 'izinyillik.html', {'form': form})