Подтвердить что ты не робот

Как использовать jQuery UI Datepicker в качестве виджета Django?

Некоторые из моих моделей Django 1.3 имеют свойства DateField. Когда создается форма, я бы хотел использовать jQuery UI Datepicker вместо обычного текстового поля. Я понимаю, что могу создавать новые виджеты, но я не понимаю, как это сделать. Кроме того, я не уверен, что что-то вроде этого уже сделано для Django (я искал его, никаких шансов).

Как создать виджет Django, который я могу повторно использовать для нескольких моделей (и страницы) для jQuery UI Datepicker?

4b9b3361

Ответ 1

JQueryUI имеет очень хороший пользовательский интерфейс для выбора даты. Вы можете получить его здесь: 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.

Надеюсь, это поможет вам.

Ответ 2

Вы должны посмотреть DateInput - вам нужно наследовать свой виджет. Также посмотрите виджеты администратора - есть некоторые JS-приложения. Так что возьмите DateInput, добавьте JS, и все готово.