Django:带有 "django-widget-tweaks" 的 DatePicker
Django: DatePicker with "django-widget-tweaks"
美好的一天,
我正在为我在 Django 中的输入字段之一尝试 "create" DatePicker,但它不起作用!
在我的 models.py:
class Customer(models.Model):
...
name = models.CharField()
date = models.DateField()
在我的 views.py:
def Page(request):
CustomerFormSet = modelformset_factory(Customer, fields='__all__')
formset = CustomerFormSet (queryset=Customer.objects.none())
...
context = {'formset': formset}
return render(request, 'app/base.html', context)
在我的模板中:
{% extends 'app/base.html' %}
{% load widget_tweaks %}
<form actions="" method="POST">
{% csrf_token %}
{{ formset.management_form }}
{% for form in formset %}
{{ form.id }}
...
{% render_field form.name class="form-control" %}
...
{% render_field form.date class="form-control" %}
...
现在我的第一个输入框工作正常了!它 returns 适合 Bootstraps "Form-Group"-Layout 的 Field。但是我的日期 InputField 仍然是一个简单的 TextInput,没有可供选择的日历表。
我的问题是:我是不是做错了,还是这样获取不到这样的功能?
谢谢,祝大家有个愉快的夜晚。
如果您正在使用 ModelForm,请尝试:
from django import forms
class DateInput(forms.DateInput):
input_type = 'date'
class DataTreinoForm(forms.ModelForm):
class Meta:
model = models.YOURMODEL
fields = _all_
widgets = {
'dateField': DateInput
}
默认格式为mm/dd/yyyy。不知道怎么改成这样。
我也刚刚解决了这个问题。将 type="date"
添加到 render_field.
{% render_field form.date type="date" class="form-control" %}
您可以在此处添加任何输入标签属性,这很方便,因为
- 修改模板上的表单外观而不是 forms.py,这在概念上是一致的
- 当您保存模板时,它不会重新加载应用程序,因此使用 html
可以更快地进行测试
美好的一天,
我正在为我在 Django 中的输入字段之一尝试 "create" DatePicker,但它不起作用!
在我的 models.py:
class Customer(models.Model):
...
name = models.CharField()
date = models.DateField()
在我的 views.py:
def Page(request):
CustomerFormSet = modelformset_factory(Customer, fields='__all__')
formset = CustomerFormSet (queryset=Customer.objects.none())
...
context = {'formset': formset}
return render(request, 'app/base.html', context)
在我的模板中:
{% extends 'app/base.html' %}
{% load widget_tweaks %}
<form actions="" method="POST">
{% csrf_token %}
{{ formset.management_form }}
{% for form in formset %}
{{ form.id }}
...
{% render_field form.name class="form-control" %}
...
{% render_field form.date class="form-control" %}
...
现在我的第一个输入框工作正常了!它 returns 适合 Bootstraps "Form-Group"-Layout 的 Field。但是我的日期 InputField 仍然是一个简单的 TextInput,没有可供选择的日历表。
我的问题是:我是不是做错了,还是这样获取不到这样的功能?
谢谢,祝大家有个愉快的夜晚。
如果您正在使用 ModelForm,请尝试:
from django import forms
class DateInput(forms.DateInput):
input_type = 'date'
class DataTreinoForm(forms.ModelForm):
class Meta:
model = models.YOURMODEL
fields = _all_
widgets = {
'dateField': DateInput
}
默认格式为mm/dd/yyyy。不知道怎么改成这样。
我也刚刚解决了这个问题。将 type="date"
添加到 render_field.
{% render_field form.date type="date" class="form-control" %}
您可以在此处添加任何输入标签属性,这很方便,因为
- 修改模板上的表单外观而不是 forms.py,这在概念上是一致的
- 当您保存模板时,它不会重新加载应用程序,因此使用 html 可以更快地进行测试