Django表单不显示日期选择器和时间选择器

Django表单不显示日期选择器和时间选择器,django,python-3.x,django-models,django-forms,django-templates,Django,Python 3.x,Django Models,Django Forms,Django Templates,嗨,Djangonauts, 我是Django的新手。请原谅代码或逻辑中的任何错误。我正在使用下面存储库中的django bootstrap datepicker plus将日期选择器添加到我的代码中。我已经完成了pip安装。我已经完成了pip安装django引导数据采集器plus。我已将此添加到我的设置中 INSTALLED_APPS = [ 'bootstrap_datepicker_plus', ] 还补充说 BOOTSTRAP3 = { 'include_jqu

嗨,Djangonauts, 我是Django的新手。请原谅代码或逻辑中的任何错误。我正在使用下面存储库中的django bootstrap datepicker plus将日期选择器添加到我的代码中。我已经完成了pip安装。我已经完成了
pip安装django引导数据采集器plus
。我已将此添加到我的设置中

INSTALLED_APPS = [    
    'bootstrap_datepicker_plus',
]
还补充说

BOOTSTRAP3 = {
    'include_jquery': True,
}
但是它不起作用。我的代码都在下面。我也不能在我的表单中添加DecimalField和IntegerField,因为这会产生错误。但现在我更关注的是约会选择者。我附上了它应该如何显示和如何显示的图像。我做错了什么

Forms.py

from django import forms
from .models import Event
from bootstrap_datepicker_plus import DatePickerInput, TimePickerInput


class EventForm(forms.ModelForm):
    price: forms.DecimalField(decimal_places=2, max_digits=5)
    quantity: forms.IntegerField()
class Meta:
    model = Event
    fields = ('price', 'stock', 'date', 'time_from', 'time_to', 'event_choice')
    widgets = {
        'date': DatePickerInput(),
        'time_from': TimePickerInput(),
        'time_to': TimePickerInput(),

    }

def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.fields['stock'].label = "How many people can attend your event"
    self.fields['price'].label = "How much do members have to pay to attend"
    self.fields['event_choice'].label = "What kind of event is this?"
    self.fields['date'].label = "When do you plan to host your event"
    self.fields['time_from'].label = "What time does the event start"
    self.fields['time_to'].label = "What time does the event end"
class Event(models.Model):
    user = models.ForeignKey(User, related_name='seller')
    post = models.ForeignKey(Post, related_name='course')
    price = models.DecimalField(max_digits=5, decimal_places=2)
    stock = models.IntegerField((validators=[MinValueValidator(1), MaxValueValidator(35)]))
    date = models.DateField()
    time_from = models.TimeField()
    time_to = models.TimeField()
Template.html

  {% extends 'base.html' %}
  {% block body %}
  {% load bootstrap3 %}
  {% block extrahead %}       {# Extra Resources Start #}
  {{ form.media }}            {# Form required JS and CSS #}
  {% endblock %}              {# Extra Resources End #}





<div class="form-group row">
     {{field.errors}}
     <form action="{% url 'event:new_event' slug=post.slug %}" method="post" >
         {% csrf_token %}
         {% bootstrap_form form %} 
         <input type="submit" value="Save" class="btn btn-success btn-sm" />
     </form>
</div>
{% endblock  %}
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">[![enter image description here][1]][1]
    {% load staticfiles %}
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="{% static 'style.css' %}">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</head>
Base.html

  {% extends 'base.html' %}
  {% block body %}
  {% load bootstrap3 %}
  {% block extrahead %}       {# Extra Resources Start #}
  {{ form.media }}            {# Form required JS and CSS #}
  {% endblock %}              {# Extra Resources End #}





<div class="form-group row">
     {{field.errors}}
     <form action="{% url 'event:new_event' slug=post.slug %}" method="post" >
         {% csrf_token %}
         {% bootstrap_form form %} 
         <input type="submit" value="Save" class="btn btn-success btn-sm" />
     </form>
</div>
{% endblock  %}
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">[![enter image description here][1]][1]
    {% load staticfiles %}
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="{% static 'style.css' %}">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</head>

[![在此处输入图像描述][1][1]
{%load staticfiles%}
这就是它的工作原理

现在就是这样


您正在混合引导3和引导4

  • 在你的base.html中有一个到bootstrap3.3.7的css链接(我看不出你的template.html文件是如何使用这个文件的)
  • 在settings.py文件中,您正在使用BOOTSTRAP4
  • 在template.html文件中,它声明
    {%load bootstrap3%}

  • 如果您使用的是Bootstrap 3,文档说明使用Bootstrap 3,也就是说,您可能应该在设置文件中切换到Bootstrap 3。

    嗨,Mattias,我将其更改为Bootstrap 3,但仍然收到相同的错误。template.html有一个
    {%block body%}
    {%endblock%}
    获取template.html中的base.html。要利用template.html文件中的base.html文件,您需要在template.html的顶部写入{%extends'base.html%}。另外,您需要在base.html中希望代码结束的位置有一个{%block base%}{%endblock%}。谢谢您,对forms.py的更多编辑完成了工作,非常感谢。字段和小部件必须分开处理。任何显示“字段”的内容在小部件中都不起作用,必须单独保存