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

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 в пользовательской форме (хотя и начинается с другой позиции)

4b9b3361

Ответ 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 }}