Django SelectDateWidget 无法正确呈现

Django SelectDateWidget not rendering correctly

我正在尝试在 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>

您不能像那样单独使用小部件。小部件需要存在于字段中,而字段又需要存在于表单中。您需要同时声明它们:

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

问题是你正在渲染 widget 你应该使用 form

创建表单

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})