我正在尝试在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>
答案 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})