13

我的一些 Django 1.3 模型具有 DateField 属性。生成表单时,我想使用 jQuery UI Datepicker 而不是纯文本字段。我知道我可以创建新的小部件,但我不明白如何。此外,我不确定是否已经为 Django 做过类似的事情(我用谷歌搜索过,没有机会)。

如何为 jQuery UI Datepicker 创建一个可以跨多个模型(和页面)重用的 Django 小部件?

4

2 回答 2

11

JQueryUI 有一个非常好的日期 UI 选择器。你可以在这里得到它:http: //jqueryui.com

例如,假设您有以下表格:

class DateForm(forms.Form):
   myDate = forms.DateField()

从这里您希望将 JQuery 日期小部件从您的模板中绑定到您的字段。

我在这里假设您将 传递DateForm给您的模板,并且您的 JQuery 路径是正确的。

<head>
    <link rel="stylesheet" href="/themes/base/jquery.ui.all.css">
    <script src="/jquery.js"></script>
    <script src="/ui/jquery.ui.core.js"></script>
    <script src="/ui/jquery.ui.widget.js"></script>
    <script src="/ui/jquery.ui.datepicker.js"></script>
    <script>
    $(function() {
        $( "#id_myDate" ).datepicker();
    });
    </script>
</head>
<body>

<p>Date: <input type="text" id="id_myDate"></p>

</body>

请注意myDate前面有id_. Django 透明地执行此操作,因此请确保您将其匹配为:id_myDate.

希望这对您有所帮助。

于 2012-03-07T09:02:22.077 回答
0

您应该查看DateInput - 您需要从中继承您的小部件。还要查看管理小部件- 附加了一些 JS。所以使用 DateInput,添加一些 JS 就完成了。

于 2012-03-07T01:49:17.487 回答