【问题标题】:Bootstrap-datepicker with django 1.4带有 django 1.4 的引导日期选择器
【发布时间】:2012-10-12 14:43:45
【问题描述】:

我知道datepicker 有一个非常相似的问题,但我自己无法解决它,因为我认为我的问题不同。所以我试图在我本地的 django 项目中使用 bootstrap-datepicker bootstrap-datepicker 。我有一点使用 django 的经验,目前使用的是 1.4 版。我有一个 ModelForm,我希望能够为某些 DateField 使用 datepicker 接口。我使用以下方法在模板中正确呈现表单字段:

 <div class="well">
   <input type="text" class="span2" value="02/16/12" data-date-format="mm/dd/yy" id="datepicker" >
 </div>

在我的模板底部我有以下 JS 代码:

<script> $("#datepicker").datepicker(); </script>

现在,在我的基本布局模板中,我有以下内容:

<link rel="stylesheet" href="{{ STATIC_URL }}css/bootstrap.css"/>
<link rel="stylesheet" href="{{ STATIC_URL }}css/datepicker.css"/>

{% block head %}{% endblock %}
{% include "layouts/header.html" %}
{% block content %}{% endblock %}
{% include "layouts/footer.html" %}

<script src="{{ STATIC_URL }}js/bootstrap.js"></script>
<script src="{{ STATIC_URL }}js/bootstrap-datepicker.js"></script>
{% block scripts %}{% endblock %} 

我要渲染日期选择器的模板当然包括基本布局模板:

{% extends "layouts/base.html" %}

我的静态文件分布如下:

Project/
    apps/
    static/
        css/
            bootstrap.css
            datepicker.css
            datepicker.less
        js/
            bootstrap.js
            bootstrap-datepicker.js

我以前从未在我的项目中使用过 JS,所以它可能有事可做,但是,当我渲染我的表单时,DateField 显示为可以作为 datepicker 示例,只是我无法让它在你得到的地方部署小部件从日历中选择日期。每次我使用表单重新加载 url 时,我都会在 runserver 中得到以下信息:

[22/Oct/2012] "GET /element/new HTTP/1.1" 200 9547
[22/Oct/2012] "GET /static/js/bootstrap.js HTTP/1.1" 304 0
[22/Oct/2012] "GET /static/css/datepicker.css HTTP/1.1" 304 0
[22/Oct/2012] "GET /static/js/bootstrap-datepicker.js HTTP/1.1" 304 0
[22/Oct/2012] "GET /static/css/bootstrap.css HTTP/1.1" 200 118150

我将不胜感激任何形式的帮助。如果您需要我的 settings.py 在以下链接中:settings.py

非常感谢。

【问题讨论】:

    标签: django twitter-bootstrap datepicker


    【解决方案1】:

    为了清楚起见。有问题的日期选择器是http://www.eyecon.ro/bootstrap-datepicker/

    我已经在我自己的项目中实现了这个日期选择器,但只是作为更复杂的 JS 用法的一部分。我的电话更接近于:

    $("#datepicker").datepicker({
        format: 'yyyy-mm-dd',
        weekStart: 1,
     });
    

    我没有看到 $() 工作所需的 jQuery JS 文件。

    runserver 消息完全正常。它们是接收到的 HTTP 调用以及它们的工作方式,200 和 304 表示找到或不需要再次获取的文件。所以这很好。同样,我没有看到您的浏览器请求 jQuery,所以我认为它可能丢失了。

    要进行故障排除,您应该在 Javascript 控制台(在浏览器中)而不是在 runserver 中查找错误。

    希望对您有所帮助。

    【讨论】:

    • 我还以为跟JQuery有关系,因为没用过JQuery,所以没加进去,觉得没必要,怎么追加到项目里?
    • jquery.com 检查该站点。下载它,将其添加到脚本标签中,就像您的其他 .js 文件一样。您可以阅读它在该站点上的工作原理。但是一旦你有 jQuery,你上面的示例应该可以工作。它可能应该在您的 HTML 中的 bootstrap.js 之前。
    • 是的,这对我有用,jquery 是我所缺少的。谢谢
    猜你喜欢
    • 2013-12-14
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多