简体   繁体   English

Django JavaScript翻译在页面加载时给出错误

[英]Django javascript translation giving error on page load

This is what my urls.py looks like: 这是我的urls.py的样子:

js_info_dict = {
    'domain': 'djangojs',
    'packages': ('project',),
}

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include('project.urls')),
    url(r'^login/$', auth_views.login, {'template_name': 'login.html', 'authentication_form': LoginForm}, name = 'login'),
    url(r'^logout/$', auth_views.logout, {'next_page': '/login'}),
    url(r'^i18n/', include('django.conf.urls.i18n')),
]

urlpatterns += i18n_patterns('', (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), )

This is what I have in my html: 这就是我在HTML中的内容:

<script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' %}"></script>

I have run django-admin makemessages -d djangojs -l fr and made my changes to the djangojs.po file. 我已经运行django-admin makemessages -d djangojs -l fr ,并对djangojs.po文件进行了更改。 I then ran django-admin compilemessages . 然后,我运行django-admin compilemessages I see the the djangojs.mo file. 我看到了djangojs.mo文件。 When I go to my site, it is giving me an AttributeError that points to the line of HTML code above. 当我转到自己的网站时,它给了我一个AttributeError,它指向上面的HTML代码行。 How do I go about fixing this? 我该如何解决这个问题?

from django.conf.urls.i18n import i18n_patterns
js_info_dict = {
    'domain': 'djangojs',
    'packages': ('project',),
}
urlpatterns = i18n_patterns(
    url(r'^jsi18n/$', js_info_dict, name='javascript-catalog'),
)

In template 在模板中

`<script type="text/javascript" src="{% url 'javascript-catalog' %}">`</script>

For anyone else having this problem, this is what I did to solve the issue in addition to running django-admin makemessages -d djangojs -l fr and django-admin compilemessages . 对于其他有此问题的人,除了运行django-admin makemessages -d djangojs -l frdjango-admin compilemessages之外,我还解决了该问题。

urls.py should look like: urls.py应该看起来像:

from django.views.i18n import JavaScriptCatalog
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include('project.urls')),
    url(r'^login/$', auth_views.login, {'template_name': 'login.html', 'authentication_form': LoginForm}, name = 'login'),
    url(r'^logout/$', auth_views.logout, {'next_page': '/login'}),
    url(r'^i18n/', include('django.conf.urls.i18n')),
    url(r'^jsi18n/$', JavaScriptCatalog.as_view(), name='javascript-catalog'),
]

This should be in template: 这应该在模板中:

<script type="text/javascript" src="{% url 'javascript-catalog' %}"></script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM