JQuery DatePicker в администраторе Django без использования форм Django - PullRequest
0 голосов
/ 10 февраля 2012

В моем проекте django есть поле с именем pub_date. Я хочу использовать jQuery datepicker вместо django datepicker по умолчанию в админке django . Но я хочу сделать это без использования форм django . Возможно ли это сделать? Я даю свой код ниже.

models.py

   import datetime

   from django.db import models

   class Poll(models.Model):
       question = models.CharField(max_length=200)
       date     = models.DateField('Registration Date')
       pub_date = models.DateTimeField('date published')

       def __unicode__(self):
           return self.question

       def was_published_today(self):
           return self.pub_date.date() == datetime.date.today()
       was_published_today.short_description = 'Published today?'

   class Choice(models.Model):
       poll   = models.ForeignKey(Poll)
       choice = models.CharField(max_length=200)
       votes  = models.IntegerField()

       def __unicode__(self):
           return self.choice

admin.py

    from django.contrib import admin

    from poject.app.models import Poll, Choice

    class ChoiceInline(admin.TabularInline):
        model = Choice
        extra = 3

    class PollAdmin(admin.ModelAdmin):
        fieldsets = [
            (None,               {'fields': ['question']}),
            ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
        ]
        inlines        = [ChoiceInline]
        list_display   = ('question', 'pub_date', 'was_published_today')
        list_filter    = ['pub_date']
        search_fields  = ['question']
        date_hierarchy = 'pub_date'

    admin.site.register(Poll, PollAdmin)
    admin.site.register(Choice)

Можно ли использовать jquery datepicker в DateField и DateTimeField , определенных в указанных выше моделях, без использования форм django?

Ответы [ 2 ]

1 голос
/ 10 февраля 2012

Если вы не хотите создавать виджет формы, вы можете переопределить указатель даты, переопределив свой шаблон admin change_form.html .

0 голосов
/ 12 февраля 2012

Проверьте мой вопрос Измените виджет по умолчанию для полей даты в Django admin о том, как это сделать для всех экземпляров DateField.

Если вы не хотите прикасаться к формам, предоставьте свои собственные js / calendar.js и js / admin / DateTimeShortcuts.js - если вы хотите сделать это только для конкретной модели, вам нужно переопределить ее change_form. Шаблон HTML и заменить стандартные файлы JavaScript просто там. Что делает javascript, так это ищет поля даты (времени) и вставляет указатель даты - ваш будет делать то же самое, только с другим указателем даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...