Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 26, 2011 00:30:53

Alex_Kutsan
От:
Зарегистрирован: 2010-03-25
Сообщения: 150
Репутация: +  0  -
Профиль   Отправить e-mail  

технология создание виджетов

Не нашел нормальных примеров. В документации не совсем понятно. Мне нужно сделать виджет календаря, для выбора даты. Тоесть мне нужно написать или найти яваскриптовский календарик. И как и КАК с помощью виджета его туда впихнуть? Там есть место для явы скрипта и CSS.
js = ('/admin/jsi18n/',
settings.ADMIN_MEDIA_PREFIX + ‘js/core.js’,
settings.ADMIN_MEDIA_PREFIX + “js/calendar.js”,
settings.ADMIN_MEDIA_PREFIX + “js/admin/DateTimeShortcuts.js”)
css = {
‘all’: (
settings.ADMIN_MEDIA_PREFIX + ‘css/forms.css’,
settings.ADMIN_MEDIA_PREFIX + ‘css/base.css’,
settings.ADMIN_MEDIA_PREFIX + ‘css/widgets.css’,)
}

Но все календарики на ява скрипте предполагают минимум Html.
И как при даже если выйдет включить это, как при нажатии на число в календарике отобразить его в поле ДАТА?



Офлайн

#2 Июнь 29, 2011 13:37:44

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2267
Репутация: +  41  -
Профиль   Отправить e-mail  

технология создание виджетов

возьми да глянь виджет в админке (если нужен админский виджет)
А так:

from django.forms.widgets import DateInput
class JSDataPickerWidget(DateInput):

def __init__(self, attrs={'class': 'datepicker'}, format=None):
super(JSDataPickerWidget, self).__init__(attrs)

class Media:
css = {'all': ('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/themes/smoothness/jquery-ui.css',)}
js = ('https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js',
'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js',
'basicapp/js/datepicker.js')
{% block extra_head %}{{ form.media }}{% endblock %}
и разруливаешь сдесь JS читая доку по DatePicker

Офлайн

#3 Июнь 29, 2011 15:15:55

Alex_Kutsan
От:
Зарегистрирован: 2010-03-25
Сообщения: 150
Репутация: +  0  -
Профиль   Отправить e-mail  

технология создание виджетов

Спасибо, помогло.



Офлайн

#4 Авг. 26, 2011 22:11:39

ferraq
От:
Зарегистрирован: 2011-08-26
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

технология создание виджетов

slav0nic
возьми да глянь виджет в админке (если нужен админский виджет)
А так:

Код:

from django.forms.widgets import DateInput
class JSDataPickerWidget(DateInput):

def __init__(self, attrs={'class': ‘datepicker’}, format=None):
super(JSDataPickerWidget, self).__init__(attrs)

class Media:
css = {'all': ('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/themes/smoothness/jquery-ui.css',)}
js = ('https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js',
'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js',
‘basicapp/js/datepicker.js’)
Код:

{% block extra_head %}{{ form.media }}{% endblock %}
и разруливаешь сдесь JS читая доку по DatePicker
Что то я не пойму что дальше с этим делать

data = forms.CharField(widget=JSDataPickerWidget)

такс data = forms.CharField(widget=JSDataPickerWidget) ??

делаю ничего не происходит …



Офлайн

#5 Авг. 27, 2011 21:22:19

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

технология создание виджетов

а если data = forms.CharField(widget=JSDataPickerWidget()) ? :)

И да, советую в качестве надстройки к админке ставить django-grappelli. Тогда таких проблем вообще не будет.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version