Django: использование admin datepicker
Я пытаюсь использовать adminypicker в своих собственных форматах django.
Примерно после обсуждения здесь: http://www.mail-archive.com/[email protected]/msg72138.html
Я
a) В моих forms.py включена строка
from django.contrib.admin import widgets
b) и использовал виджетов следующим образом:
date = forms.DateTimeField(widget=widgets.AdminDateWidget())
c) И в моем фактическом шаблоне я добавил:
{{form.media}}
Чтобы включить js/styles и т.д.
Однако, когда я пытаюсь просмотреть свою форму, у меня нет хорошего виджета; просто обычное текстовое поле. И консоль ошибок javascript Firefox показывает мне:
gettext не определен в calendar.js(строка 26)
и
addEvent не определен в DateTimeShortcuts.js(строка 254)
Любые предложения? Является ли это ошибкой в собственной javascript-библиотеке Django?
Обновление: в принципе, необходимо включить ядро и (или подделку) i18lization
Обновление 2: Карл указывает, что это почти дубликат Использование виджетов даты и времени Django в пользовательской форме (хотя и начинается с другой позиции)
Ответы
Ответ 1
Нет, это не ошибка.
Он пытается вызвать функцию интертекстации gettext() в js. Вы можете сделать интернационализацию js так же, как вы это делаете в коде или шаблонах python, это только менее известная функция.
Если вы не используете js-интернационализацию в своем проекте, вы можете просто поставить.
<script>function gettext(txt){ return txt }</script>
в вашем верхнем шаблоне, чтобы интерпретатор js не задыхался.
Это хакерский способ решить его, я знаю.
Edit:
Или вы можете включить точные ссылки администратора jsi18n js django, чтобы заставить его работать даже с другими языками. Я не знаю, кто он.
Это было опубликовано сегодня пользователями django:
http://groups.google.com/group/django-users/browse_thread/thread/2f529966472c479d#
Возможно, это был ты, во всяком случае, на всякий случай.
Ответ 2
Я думаю, что я решил первую половину, явно добавив эти строки в мой шаблон:
<script type="text/javascript" src="../../../jsi18n/"></script>
<script type="text/javascript" src="/admin_media/js/core.js"></script>
<script type="text/javascript" src="/admin_media/js/admin/RelatedObjectLookups.js"></script>
Но он по-прежнему сообщает, что не знает gettext
Ответ 3
Вы можете найти для себя следующие работы:
<link href="/media/css/base.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="/admin/jsi18n/"></script>
<script type="text/javascript" src="/media/js/core.js"></script>
{{ form.media }}