DatePicker не отображается? - PullRequest
1 голос
/ 02 мая 2019

Я разрабатываю приложение с помощью Django, и мне нужно выбрать дату и время.Я пытаюсь сделать это с 'bootstrap_datepicker_plus' , но календарь не отображается, когда я показываю форму.

settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'hungryFalconryApp',
    'rest_framework',
    'bootstrap4',
    'bootstrap_datepicker_plus',
]

BOOTSTRAP4 = {
    'include_jquery': True,
}

forms.py

from django import forms
from bootstrap_datepicker_plus import DateTimePickerInput

class DateForm(forms.ModelForm):

    class Meta:
        model = Comedero
        fields = ('dias', 'horas')

        widgets = {
            'dias': DateTimePickerInput(),
            'horas': DateTimePickerInput(),
        }

views.py

def programar_comederos(request, nombre):
    if request.method == "POST":
        form = DateForm(request.POST)
        print(nombre)
        if(form.is_valid()):
            comedero = form.save(commit=False)
            print(comedero.dias)
            print(comedero.horas)
    else:
        form = DateForm()
    return render(request, 'hungryFalconryApp/programar_comederos.html',{'nombre': nombre, 'form':form})

template.html

{% load bootstrap4 %}
{% bootstrap_css %}
{% bootstrap_javascript jquery='full' %}
{% bootstrap_messages %}
{{ form.media }}
{% block content %}
<form action="" method="post" class="form">

            {% csrf_token %}
            {% bootstrap_form form %}
            {% bootstrap_button "Guardar" button_type="submit" button_class="btn-primary" %}
        </form>
{% endblock %}

Ответы [ 2 ]

1 голос
/ 02 мая 2019

вы также можете использовать Datepicker, Datepicker - это jqueryUI, он быстрее и надежнее

см. Пример здесь

вы просто cdn или jqueryUI файл в вашем проекте

jqueryUI CDN

<script
  src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"
  integrity="sha256-0YPKAwZP7Mp3ALMRVB2i8GXeEndvCq3eSl/WsAl1Ryk="
  crossorigin="anonymous"></script>

затем присвойте идентификатор этому конкретному полю

<script>
   $("#datepicker").datepicker({ dateFormat: 'dd M yy' });

</script> 

«DatePicker» - это html id , вы также можете изменить формат даты с dateFormat

1 голос
/ 02 мая 2019

Я уже решил.В django-bootstrap-datepicker-plus это указывает на размещение {{form.media}} после этого кода, но {{form.media}} должно идти внутри тега

...