【问题标题】:datepicker Is not showing?datepicker 不显示?
【发布时间】:2019-09-20 19:29:46
【问题描述】:

我正在使用 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 %}

【问题讨论】:

  • 你使用任何javascript日历库吗???
  • 我比较喜欢用django包,来学习

标签: django bootstrap-4 django-bootstrap4


【解决方案1】:

我已经解决了。在django-bootstrap-datepicker-plus 中,它表示将 {{form.media}} 放在此代码之后,但 {{form.media}} 必须放在标签内

【讨论】:

    【解决方案2】:

    你也可以使用 Datepicker,Datepicker 是 jqueryUI,它更快更可靠

    see example here

    你只是在你的项目中的 cdn 或 jqueryUI 文件

    jqueryUI CDN

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

    然后将 Id 分配给该特定字段

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

    " datepicker " 是 html id 您还可以从 dateFormat

    更改日期格式

    【讨论】:

    • 你有解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    相关资源
    最近更新 更多