2012-11-08 5 views
2

현재 내 프로젝트에 django 1.3을 사용하고 있습니다. 프로젝트의 현지화 작업을하고 있습니다. 파이썬 코드와 템플릿을 현지화 할 수 있지만 자바 스크립트 현지화에 문제가 있습니다. "Django.views.i18n.javascript_catalog"에 대해 '()'및 '{}'을 (를) 찾을 수없는 인수 '()'를 사용하여 렌더링 중 'NoReverseMatch를 잡았습니다.'라는 TemplateSyntaxError 메시지가 나타납니다. url.py와 template.html 코드의 일부를 아래에 넣었습니다. python manage.py 쉘을 사용하여 django.views.i18n.javascript_catalog를 확인했습니다. 괜찮습니다.django 자바 스크립트 현지화 문제

내가 잘못하고있는 것을 말해 줄 수 있습니까?

http : /// jsi18n /?의 템플릿 결과에서 url 기능을 사용하지 않아야합니까?

감사합니다.

최소

=== 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), 
) 

=== 단부 ===

=== home.html을 ===

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

=== 끝 ===

답변

7

나는 마침내 그 이유를 발견했다. 이 오류가 발생했습니다. 오류는 현지화와 관련이 없습니다. 당신이

<script... {% url django.views.i18n.javascript_catalog %}"></script> 

<script... {% url 'django.views.i18n.javascript_catalog' %}"></script> 

을 변경하는 경우 오류가 사라집니다. urls.py에, 그것은 HTML 템플릿 파일에 짧은에서

url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), 

것을

참고 반면, django.views.i18n.javascript_catalog 주위에 인용하여 urls.py 파일은 약 django.views.i18n.javascript_catalog 인용하지 않습니다. 이 후, 나는 자바 스크립트 번역 작업을 할 수있었습니다. 최소

+2

이것은 당신이 쓴 여부에 따라 달라를'{% 부하 미래 % {url from your future %}}을 (를) 템플릿 상단에 추가하십시오. 해당 스 니펫을 포함하고 모든보기 경로를 인용하는 것이 좋습니다. ['url' 태그] (https://docs.djangoproject.com/en/1.3/ref/templates/builtins/#url) 문서의 "Forwards compatibility"사이드 바를보십시오. –

0

같은 오류를했다하지만 난이 있다고 발견 : 대신의

url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog',js_info_dict), 
url(r'^i18n/', include('django.conf.urls.i18n')), 

:

url(r'^i18n/', include('django.conf.urls.i18n')), 
url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),