Django form.as_p DateField not showing input type as date

前端 未结 7 1239
野性不改
野性不改 2020-12-08 08:45

Working on my first django app, and I have a model defined with some DateFields, and then a ModelForm off of that model i.e.

models

相关标签:
7条回答
  • 2020-12-08 09:05

    Using the django-widget-tweaks package you can do this pretty simply by using:

    {% load widget_tweaks %}
    {{form.date|attr:"type:date"}}
    

    and making the field a date time field in your class:

    date = forms.DateField()
    
    0 讨论(0)
  • 2020-12-08 09:05

    Installation

    • Run pip install django-datetimepicker
    • Add 'datetimepicker' to your INSTALLED_APPS

    Basic usage

    Here is an example of how to use the widget.

    . Assign the DateTimePicker to a DateTimeField, DateField or TimeField.

    from django import forms
    from datetimepicker.widgets import DateTimePicker
    
    
    class SampleForm(forms.Form):
         datetime = forms.DateTimeField(widget=DateTimePicker(),)
    
    0 讨论(0)
  • 2020-12-08 09:09

    You can create a custom widget:

    from django import forms
    
    class DateInput(forms.DateInput):
        input_type = 'date'
    
    class MyModelForm(forms.ModelForm):
        class Meta:
            model = MyModel
            fields = '__all__'
            widgets = {
                'my_date': DateInput()
            }
    
    0 讨论(0)
  • 2020-12-08 09:12

    I had errors when I compiled the code. Better use this one:

    from django import forms

    class MyModelForm(forms.ModelForm):
        class Meta:
            model = MyModel
            fields = '__all__'
            widgets = {
                'my_date': forms.DateInput(attrs={'type': 'date'})
            }
    
    0 讨论(0)
  • 2020-12-08 09:13
    start_date = forms.DateField(widget=forms.DateInput(attrs={'type': 'date'}))
    
    0 讨论(0)
  • 2020-12-08 09:18

    To use directly in forms.Form

    class DateInput(forms.DateInput):
    input_type = 'date'
    
    class Gym(forms.Form):
        starting_date = forms.DateField(widget = DateInput)
    
    0 讨论(0)
提交回复
热议问题