我正在尝试在我自己的 Django 表单中使用管理日期选择器。
大致遵循此处的讨论: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 行)
和
addEvent 未在 DateTimeShortcuts.js(第 254 行)中定义
有什么建议吗?这是 Django 自己的 javascript 库中的错误吗?
更新:基本上,需要包括核心和(或假的)i18lization
更新 2:Carl 指出这几乎是 Using Django time/date widgets in custom form 的重复(虽然从不同的位置开始)
最佳答案
不,这不是错误。
试图调用js中的gettext()国际化函数。您可以像在 Python 代码或模板中一样执行 js 国际化,这只是一个鲜为人知的功能。
如果你的项目中没有使用js国际化你可以直接放。
<script>function gettext(txt){ return txt }</script>
在您的顶级模板中,这样 js 解释器就不会阻塞。
我知道这是解决它的一种 hacky 方法。
编辑:
或者您可以包含确切的 jsi18n js django 管理引用,以使其与其他语言一起工作。我不知道是哪一个。
这是今天在 django-users 上发布的:
http://groups.google.com/group/django-users/browse_thread/thread/2f529966472c479d#
也许是你,以防万一。
关于python - Django : using admin datepicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/660898/