无响应的 django-bootstrap3-datetimepicker(不显示日历)
Unresponsive django-bootstrap3-datetimepicker (not showing calendar)
作为初学者,我经常难以理解 Python-Django、html、javascript 和 css 之间的联系。
手头的问题是:我正在尝试从 django-bootstrap3-datetimepicker-2.
实现 DateTimePicker 小部件
由于这个库不包含 js/css 资产,我开始在没有后端参与的情况下实现 datetimepicker,只是为了看看我是否正确加载了所有静态文件等。因此,我将 this example 添加到 html 模板:
<div class="container">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<div class="input-group date" id="datetimepicker1">
<input type="text" class="form-control">
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<script type="text/javascript">
$(function () {
$('#datetimepicker1').datetimepicker();
});
</script>
</div>
</div>
一切都按预期工作,所以我尝试将 datetimepicker 实现为 django 表单的小部件:
class FooForm(forms.Form):
pick_a_date = forms.DateTimeField(
widget=DateTimePicker(options={
"format": "YYYY-MM-DD",
"pickTime": False}
))
我也想从表单向导(即 formtools.wizard 的 SessionWizardView)中受益,所以我将上述表单输出到 html 中,如下所示:
<form action="" method="post" role="form">{% csrf_token %}
<table>
{{ wizard.management_form }}
{% if wizard.form.forms %}
{{ wizard.form.management_form }}
{% for form in wizard.form.forms %}
{{ form }}
{% endfor %}
{% else %}
{{ wizard.form }}
{% endif %}
</table>
但是,小部件没有响应(日历 window 没有显示,glyphicon-calendar 图标没有任何作用)。当我离开测试日期时间选择器(最近工作的那个)时,两者都会中断。
开发者控制台打印如下:
Uncaught TypeError: option pickTime is not recognized!
at Boolean.<anonymous> (bootstrap-datetimepicker.js:1440)
at Function.each (jquery-2.1.1.min.js:2)
at Object.picker.options (bootstrap-datetimepicker.js:1436)
at dateTimePicker (bootstrap-datetimepicker.js:2276)
at HTMLDivElement.<anonymous> (bootstrap-datetimepicker.js:2309)
at Function.each (jquery-2.1.1.min.js:2)
at n.fn.init.each (jquery-2.1.1.min.js:2)
at n.fn.init.$.fn.datetimepicker (bootstrap-datetimepicker.js:2304)
at HTMLDocument.<anonymous> ((index):154)
at j (jquery-2.1.1.min.js:2)
我很困惑,我什至不知道去哪里看。您知道任何可以向我解释这一点的文章或文档吗?请指教
我浏览了一些 githubs 项目,他们似乎没有比我更多的东西(特别是我担心它是带有模板标签的东西,但大多数只有 {% load bootstrap3 %},有些有 { % load static %},我也有)。我也试过这个 suggestion.
将 Django 表单的格式更改为 dd/MM/YYYY
。此外,从表单中删除 pickTime
。我相信这些在较早的版本中已更改;也许您使用的示例已过时。
作为初学者,我经常难以理解 Python-Django、html、javascript 和 css 之间的联系。
手头的问题是:我正在尝试从 django-bootstrap3-datetimepicker-2.
实现 DateTimePicker 小部件由于这个库不包含 js/css 资产,我开始在没有后端参与的情况下实现 datetimepicker,只是为了看看我是否正确加载了所有静态文件等。因此,我将 this example 添加到 html 模板:
<div class="container">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<div class="input-group date" id="datetimepicker1">
<input type="text" class="form-control">
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<script type="text/javascript">
$(function () {
$('#datetimepicker1').datetimepicker();
});
</script>
</div>
</div>
一切都按预期工作,所以我尝试将 datetimepicker 实现为 django 表单的小部件:
class FooForm(forms.Form):
pick_a_date = forms.DateTimeField(
widget=DateTimePicker(options={
"format": "YYYY-MM-DD",
"pickTime": False}
))
我也想从表单向导(即 formtools.wizard 的 SessionWizardView)中受益,所以我将上述表单输出到 html 中,如下所示:
<form action="" method="post" role="form">{% csrf_token %}
<table>
{{ wizard.management_form }}
{% if wizard.form.forms %}
{{ wizard.form.management_form }}
{% for form in wizard.form.forms %}
{{ form }}
{% endfor %}
{% else %}
{{ wizard.form }}
{% endif %}
</table>
但是,小部件没有响应(日历 window 没有显示,glyphicon-calendar 图标没有任何作用)。当我离开测试日期时间选择器(最近工作的那个)时,两者都会中断。
开发者控制台打印如下:
Uncaught TypeError: option pickTime is not recognized!
at Boolean.<anonymous> (bootstrap-datetimepicker.js:1440)
at Function.each (jquery-2.1.1.min.js:2)
at Object.picker.options (bootstrap-datetimepicker.js:1436)
at dateTimePicker (bootstrap-datetimepicker.js:2276)
at HTMLDivElement.<anonymous> (bootstrap-datetimepicker.js:2309)
at Function.each (jquery-2.1.1.min.js:2)
at n.fn.init.each (jquery-2.1.1.min.js:2)
at n.fn.init.$.fn.datetimepicker (bootstrap-datetimepicker.js:2304)
at HTMLDocument.<anonymous> ((index):154)
at j (jquery-2.1.1.min.js:2)
我很困惑,我什至不知道去哪里看。您知道任何可以向我解释这一点的文章或文档吗?请指教
我浏览了一些 githubs 项目,他们似乎没有比我更多的东西(特别是我担心它是带有模板标签的东西,但大多数只有 {% load bootstrap3 %},有些有 { % load static %},我也有)。我也试过这个 suggestion.
将 Django 表单的格式更改为 dd/MM/YYYY
。此外,从表单中删除 pickTime
。我相信这些在较早的版本中已更改;也许您使用的示例已过时。