Как иметь календарь вещь в поле даты Джанго - PullRequest
3 голосов
/ 26 июня 2011

У меня есть это поле Datetime в django

update_date     = models.DateField()

Но я хочу, чтобы календарь всплывал.В документах говорится, что написать это

class CalendarWidget(forms.TextInput):
    class Media:
        css = {
            'all': ('pretty.css',)
        }
        js = ('animations.js', 'actions.js')

Теперь у меня есть несколько проблем

  1. Где объявить этот класс и как его использовать
  2. Не знаюесть pretty.css, animation.css, как его получить
  3. Нужно ли заниматься программированием для него ??

1 Ответ

3 голосов
/ 26 июня 2011

Файлы 'pretty.css', 'animations.js' и 'actions.js' не включены в Django, этот код в документации приведен только в качестве примера. Вы обязаны написать код для более красивых виджетов - лично мне нравятся виджеты jQuery (см. Ссылки ниже). Из документов:

Какой инструментарий JavaScript? Существует множество наборов инструментов JavaScript, и многие из них включают в себя виджеты (такие как виджеты календаря), которые можно использовать для улучшения вашего приложения. Django сознательно избегал благословения любого инструментария JavaScript. Каждый инструментарий имеет свои относительные сильные и слабые стороны - используйте тот набор инструментов, который соответствует вашим требованиям. Django может интегрироваться с любым инструментарием JavaScript.

Предположим, что вы получили все CSS и JS, определенные для вашего модного виджета, в ModelForm вы должны переопределить виджет поля следующим образом:

class SomeForm(forms.ModelForm):
    ...
    update_date = forms.CharField(widget=CalendarWidget)
    ...

Не забудьте отобразить форму мультимедиа в заголовке шаблона.

Посмотрите эти ответы:

  1. Какая самая простая и простая в использовании программа для выбора даты в Django?
  2. https://groups.google.com/group/django-users/browse_thread/thread/8bd4675ba642ebcb?pli=1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...