问题
I am trying to use samuelcolvin's django-bootstrap3-datetimepicker in which its based on Eonasdan's bootstrap-datetimepicker but forked from nkunihiko's django-bootstrap3-datetimepicker to show the calendar so the user can select the date and time and submit it. The issue I am having is that when I try to click on the field or on the right button with the calendar icon in it like in the demo website, it does not show me nothing.
I also had to add widgets.py
from the repo into my project since it was giving me a No module named bootstrap3_datetime.widgets error.
Would appreciate your help
This is what I have in my 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)
And 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>  SCHEDULE EPISODE</a>
</form>
</div>
</div>
</div>
</div>
{% endblock %}
回答1:
Settings.py
In the Installed Apps Add 'Bootstrap3_datetime'
template
Add The following Lines into the HTML Head Tag
{% 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 %}
来源:https://stackoverflow.com/questions/37760920/samuelcolvins-django-bootstrap3-datetimepicker-not-showing-calendar-when-clicke