我正在尝试在我自己的django表单中使用admin datepicker.
大致在此讨论:http://www.mail-archive.com/django-users@googlegroups.com/msg72138.html
我有
a)在我的forms.py中包含该行
from django.contrib.admin import widgets
b)并使用这样的小部件:
date = forms.DateTimeField(widget=widgets.AdminDateWidget())
c)在我的实际模板中,我添加了:
{{form.media}}
包括js /样式等
但是,当我尝试查看我的表单时,我得到的不是很好的小部件; 只是一个普通的文本框.Firefox javascript错误控制台告诉我:
gettext未在calendar.js中定义(第26行)
和
DateTimeShortcuts.js中未定义addEvent(第254行)
有什么建议?这是Django自己的JavaScript库中的错误吗?
更新:基本上,需要包含核心和(或假的)i18lization
更新2:Carl指出这与使用自定义形式的Django时间/日期小部件完全相同(尽管从不同的位置开始)
不,这不是一个错误.
它试图在js中调用gettext()国际化函数.你可以像在python代码或模板中那样进行js国际化,它只是一个鲜为人知的特性.
如果你不在项目中使用js国际化,你可以放.
在你的顶层模板中,所以js解释器不会窒息.
我知道这是解决它的一种黑客方式.
编辑:
或者你可以包含确切的jsi18n js django管理员参考,以使其与其他语言一起工作.我不知道它是哪一个.
这是今天在django用户上发布的:
http://groups.google.com/group/django-users/browse_thread/thread/2f529966472c479d#
也许是你,无论如何,为了以防万一.