首页 > 解决方案 > Django:带有“django-widget-tweaks”的 DatePicker

问题描述

再会,

我正在尝试为 Django 中的一个输入字段“创建”一个 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" %}
        ...

现在我的第一个 Inputfield 工作正常!它在引导程序“Form-Group”-Layout 中返回一个合适的字段。但是我的 InputField for Dates 仍然是一个简单的 TextInput,没有可供选择的日历。

我的问题是:我做错了什么还是仍然无法以这种方式获得这样的功能?

谢谢大家,祝大家有个愉快的夜晚。

标签: pythondjangobootstrap-datepicker

解决方案


如果您使用 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。我不知道如何以这种方式更改它。


推荐阅读