django:使用admin datepicker

int*_*tar 12 python forms django date django-forms

我正在尝试在我自己的django表单中使用admin datepicker.

大致在此讨论:http://www.mail-archive.com/django-users@googlegroups.com/msg72138.html

我有

a)在我的forms.py中包含该行

from django.contrib.admin import widgets
Run Code Online (Sandbox Code Playgroud)

b)并使用这样的小部件:

date = forms.DateTimeField(widget=widgets.AdminDateWidget())
Run Code Online (Sandbox Code Playgroud)

c)在我的实际模板中,我添加了:

{{form.media}}
Run Code Online (Sandbox Code Playgroud)

包括js /样式等

但是,当我尝试查看我的表单时,我得到的不是很好的小部件; 只是一个普通的文本框.Firefox javascript错误控制台告诉我:

gettext未在calendar.js中定义(第26行)

DateTimeShortcuts.js中未定义addEvent(第254行)

有什么建议?这是Django自己的JavaScript库中的错误吗?

更新:基本上,需要包含核心和(或假的)i18lization

更新2:Carl指出这与使用自定义形式的Django时间/日期小部件完全相同(尽管从不同的位置开始)

Vas*_*sil 5

不,这不是一个错误.

它试图在js中调用gettext()国际化函数.你可以像在python代码或模板中那样进行js国际化,它只是一个鲜为人知的特性.

如果你不在项目中使用js国际化,你可以放.

<script>function gettext(txt){ return txt }</script>
Run Code Online (Sandbox Code Playgroud)

在你的顶层模板中,所以js解释器不会窒息.

我知道这是解决它的一种黑客方式.

编辑:

或者你可以包含确切的jsi18n js django管理员参考,以使其与其他语言一起工作.我不知道它是哪一个.

这是今天在django用户上发布的:

http://groups.google.com/group/django-users/browse_thread/thread/2f529966472c479d#

也许是你,无论如何,为了以防万一.