如何使用jQuery UI Datepicker作为Django小部件?

Mar*_*tin 13 python django jquery django-widget

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

如何创建一个Django Widget,我可以在jQuery UI Datepicker的多个模型(和页面)中重用它?

小智 11

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

比如说你有以下形式:

class DateForm(forms.Form):
   myDate = forms.DateField()
Run Code Online (Sandbox Code Playgroud)

从这里开始,您希望将JQuery日期窗口小部件绑定到模板中的字段.

我假设你在这里传递DateForm给你的模板,你的路径是正确的.

<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>
Run Code Online (Sandbox Code Playgroud)

请注意,myDate之前是id_.Django透明地做到了这一点,所以确保你这样做:id_myDate.

希望这对你有所帮助.


ilv*_*var 0

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