我正在尝试使用基于samuelcolvin's django-bootstrap3-datetimepicker的Eonasdan's bootstrap-datetimepicker,但是从nkunihiko's django-bootstrap3-datetimepicker分叉以显示日历,以便用户可以选择日期和时间并提交。我遇到的问题是,当我尝试单击字段或右键上的日历图标时,如demo website中所示,它不会向我显示任何内容。
我还必须将repo中的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>  SCHEDULE EPISODE</a>
</form>
</div>
</div>
</div>
</div>
{% endblock %}
答案 0 :(得分:0)
在已安装的应用中添加'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%}