samuelcolvin的django-bootstrap3-datetimepicker在点击输入字段时没有显示日历

时间:2016-06-11 06:59:07

标签: python django bootstrap-datetimepicker eonasdan-datetimepicker

我正在尝试使用基于samuelcolvin's django-bootstrap3-datetimepickerEonasdan's bootstrap-datetimepicker,但是从nkunihiko's django-bootstrap3-datetimepicker分叉以显示日历,以便用户可以选择日期和时间并提交。我遇到的问题是,当我尝试单击字段或右键上的日历图标时,如demo website中所示,它不会向我显示任何内容。

我还必须将r​​epo中的widgets.py添加到我的项目中,因为它给了我一个名为bootstrap3_datetime.widgets 错误的 No module。

非常感谢您的帮助

这就是我models.py中的内容:

class Production(TimeStampedModel):

        #Some other code.....

        scheduled_date = models.DateTimeField(null=True, blank=True)
        fully_produced_date = models.DateTimeField(null=True, blank=True)

forms_schedule.py

from producer.widgets import DateTimePicker

from django import forms

from .models import Production

class ScheduleForm(forms.ModelForm):

    class Meta:

        model = Production
        fields = ['scheduled_date', 'fully_produced_date']

    scheduled_date = forms.DateTimeField(required=False, widget=DateTimePicker(options={"format": "YYYY-MM-DD HH:mm", "pickSeconds": False}))

    # def clean_scheduled_date(self):
    #   scheduled_date = self.cleaned_data.get('scheduled_date')

        # return scheduled_date

    def clean_fully_produced_date(self):
        fully_produced_date = self.cleaned_data.get('fully_produced_date')

        return fully_produced_date

views.py

def episodeschedule(request):

    title = 'Podcast'
    title_align_center = True
    subtitle = 'Setup | Add Episode'
    subtitle_align_center = True
    form = ScheduleForm(request.POST or None)
    context = {
        "title": title,
        "subtitle": subtitle,
        "form": form
    }

    if form.is_valid():

        instance = form.save(commit=False)

        scheduled_date = form.cleaned_data.get("scheduled_date")
        fully_produced_date = form.cleaned_data.get("fully_produced_date")

        instance.scheduled_date = scheduled_date
        instance.fully_produced_date = fully_produced_date

        instance.user = request.user

        instance.save()

        return render(request, "forms_schedule.html", context)

    else:

            return render(request, "forms_schedule.html", context)

forms_schedule.html

{% extends "base.html" %}
{% load crispy_forms_tags %}


{% block content %}

<div class="progress">
  <div class="progress-bar progress-bar-striped progress-bar-success active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%">
    <span class="sr-only">100% Complete</span>
  </div>
</div>

<div class="panel panel-default box-shadow--16dp col-sm-6 col-sm-offset-3">
<div class="panel-body">

<div class='row'>
<div class='col-sm-12'>

{% if title %}
<h1 class='{% if title_align_center %}text-align-center{% endif %}'>{{ title }}<!-- : {{ get.clientsetup.company_name }} --></h1>
{% endif %}
{% if subtitle %}
<h3 class='{% if subtitle_align_center %}text-align-center{% endif %}'>{{ subtitle }}</h4>
{% endif %}

<h5>Schedule</h5>

<form method='POST' action=''>{% csrf_token %}
{{ form|crispy }}

<hr/>

<input class='btn btn-info box-shadow--6dp' type='submit' value='Save' />
<p>
<p>
<a class="btn btn-primary box-shadow--6dp" href="{% url 'dashboard' %}" role="button"><i class="fa fa-upload" aria-hidden="true"></i>&nbsp SCHEDULE EPISODE</a>

</form>
</div>
</div>

</div>
</div>

{% endblock %}

1 个答案:

答案 0 :(得分:0)

Settings.py

在已安装的应用中添加'Bootstrap3_datetime'

模板

将以下行添加到HTML头标记

{%block header%} {%load static%}

   <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap /3.0.0 css/bootstrap.css">  

   <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.css">

   <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.js"></script>

   <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.js"></script>

{{form.media}} {%endblock%}