Django SelectDateWidget неправильно рендерится - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь отобразить встроенный SelectDateWidget в Django, однако на веб-странице он отображается как

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

Я новичок в Django, прочитал документацию и посмотрелв интернете, но не смог найти решение.

Вот мой,

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 голосов
/ 21 февраля 2019

Проблема в том, что вы визуализируете виджет вы должны использовать форму

Создать форму

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})
0 голосов
/ 21 февраля 2019

Вы не можете использовать виджет как таковой.Виджет должен жить в поле, которое, в свою очередь, должно жить в форме.Вы должны объявить их обоих:

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