Форма Django не отображает Datepicker и Timepicker - PullRequest
0 голосов
/ 24 июня 2018

Привет, Джангонаутс, я новичок в Джанго.Пожалуйста, прости любые ошибки в коде или логике.Я использую django-bootstrap-datepicker-plus из представленного ниже репозитория, чтобы добавить средство выбора даты в мой код.https://github.com/monim67/django-bootstrap-datepicker-plus. Я установил pip.Я сделал pip install django-bootstrap-datepicker-plus.Я добавил это в мои настройки

INSTALLED_APPS = [    
    'bootstrap_datepicker_plus',
]

также добавил

BOOTSTRAP3 = {
    'include_jquery': True,
}

Однако это не работает.У меня есть весь мой код ниже.Я также не могу добавить DecimalField и IntegerField в моей форме, поскольку это дает ошибки.Но сейчас я больше сосредоточен на DatePicker.Я приложил изображения того, как оно должно отображаться и как оно отображается.Что я тут не так делаю

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"

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  %}

Models.py

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()

Base.html

<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>

Вот как это должно работать enter image description here

Вот как это сейчас

enter image description here

1 Ответ

0 голосов
/ 24 июня 2018

Вы смешиваете bootstrap 3 и bootstrap 4.

  1. В вашем base.html есть ссылка css на bootstrap 3.3.7 (я не могу видеть, как этот файл используется вашим шаблоном.хотя HTML-файл)
  2. В вашем файле settings.py вы используете BOOTSTRAP4
  3. В вашем файле template.html указано {% load bootstrap3 %}.

В документации указаноUse BOOTSTRAP3 if you are using Bootstrap 3 [1] , то есть вам, вероятно, следует переключиться на BOOTSTRAP3 в вашем файле настроек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...