我目前正在为我的项目使用django 1.3.我正在研究项目的本地化.我能够本地化python代码和模板,但我在使用javascript本地化时遇到了麻烦.我收到TemplateSyntaxError消息,说"渲染时捕获NoReverseMatch:反向''django.views.i18n.javascript_catalog'',参数'()'和关键字参数'{}'未找到." 我将url.py的一部分和下面的模板home.html代码放在一起.我使用python manage.py shell检查了django.views.i18n.javascript_catalog,这很好.
你能告诉我我做错了什么吗?
不应该在模板中的url函数导致http:/// jsi18n /?
谢谢!
敏
=== urls.py ===
js_info_dict = {
'domain': 'djangojs',
'packages': ('messages',),
}
urlpatterns = patterns('',
url(r'^$', 'messages.views.home', name='home'),
url(r'^messages/$', include('messages.urls')),
# Localization
url(r'^i18n/', include('django.conf.urls.i18n')),
url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
)
Run Code Online (Sandbox Code Playgroud)
===结束===
=== home.html ===
<body>
<script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
</body>
Run Code Online (Sandbox Code Playgroud)
===结束===
我终于找到了这个错误的原因.该错误与本地化无关.如果你改变了
<script... {% url 'django.views.i18n.javascript_catalog' %}"></script>
Run Code Online (Sandbox Code Playgroud)
至
<script... {% url django.views.i18n.javascript_catalog %}"></script>
Run Code Online (Sandbox Code Playgroud)
错误消失了.
请注意urls.py,它是
url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
Run Code Online (Sandbox Code Playgroud)
简而言之,在html模板文件中,周围没有引号django.views.i18n.javascript_catalog而urls.py文件引用django.views.i18n.javascript_catalog.在此之后,我能够使javascript翻译工作.
敏
| 归档时间: |
|
| 查看次数: |
2479 次 |
| 最近记录: |