はじめに
Djangoを勉強しているとき、Date、DateTimeのInput Fieldは普通Text Inputと同様な形式で出てしまう。
DjangoのDate Pikcerを検索したとき、ほとんどがBootstrapを利用した方法だったので、ライブラリーを使用せず、Date Pickerを利用できる方法を調べた。
環境
Django 3.1.13
python 3.9
Code
from django import forms
from django.forms import ModelForm
from .models import Work
class WorkForm(ModelForm):
class Meta:
model = Work
fields = ('title', 'date_due')
widgets = {
'title': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'title'}),
'date_due': forms.DateInput(attrs={'class': 'form-control', "type":"date"}),
}
"type":"date"
により、Pikcer
で選択ができる。
datetime-local
: 日付時間
date
: 日付
time
: 時間
<h4>Add Work</h4>
<br>
<form action="" method="POST">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Submit" class="btn btn-primary">
</form>
これでライブラリーを使用せず、DatePikcerが利用できる。
参考