2012-06-05 3 views
3

내장 된 i18n을 사용하여 장고 응용 프로그램을 번역하려고합니다. 자습서 및 오류에 따라 언어 파일()을 번역 및 작성하고 컴파일 할 텍스트를 이미 표시했습니다. 나는 또한 설정 파일에서 true로 USE_I18N을 변경하고, 튜토리얼의 지침에 따라 urls.py에 다음 줄을 추가했습니다 :Django i18n setlang보기에 오류 404가 표시됨

(r'^i18n/', include('django.conf.urls.i18n')), 

가 나는 또한 같이 settings.py에서 허용되는 언어 목록을 정의 튜토리얼에 의해 지시했다.

는 내가 새로운 페이지 HTML 템플릿을 생성하고 튜토리얼 언어 선택 페이지에 대한 준 코드 복사 : 해당 페이지가 너무 완벽하게 작동

<form action="/i18n/setlang/" method="post"> 
{% csrf_token %} 
<input name="next" type="hidden" value="{{ redirect_to }}" /> 
<select name="language"> 
    {% get_language_info_list for LANGUAGES as languages %} 
    {% for language in languages %} 
    <option value="{{ language.code }}">{{ language.name_local }} ({{ language.code }})</option> 
    {% endfor %} 
</select> 
<input type="submit" value="Go" /> 
</form> 

하지만 언제 이동 "을 클릭합니다 "그것은 나를 이야기가 페이지를로드 오류라고 :

Failed to load resource:http://localhost:8000/i18n/setlang/ 
the server responded with a status of 404 (NOT FOUND) 

내가 링크와 변수를 대체하여 리디렉션을 변경하는 시도는, 그러나 그것은 나에게 같은 결과를 주었다. 나에게 같은 오류를 준 몇 가지 이중 명명이있는 경우에 대비하여 양식 작업 경로와 urls.py를 변경해 보았습니다.

자습서와 readmes, i18n 파일 중 일부를 읽었으므로 제대로 작동하지 않는 이유를 찾을 수없는 것처럼 보입니다. 답변을 주시면 감사하겠습니다. 감사합니다

답변

2

정확한 urls.py 즉 프로젝트 루트에있는 하위 디렉토리가 아닌 하위 디렉토리에 올바른 urls.py를 사용하셨습니까? 그 후 http://localhost:8000/i18n/

from django.http import HttpResponse 
... 
(r'^i18n/', lambda x: HttpResponse("Test")), 

갈 수 : 당신이 그것을 변경하면 어떻게됩니까

?

+0

게시물을 읽기 전에 2 분이 지나도 다른 솔루션을 찾았지만 답변 해 주셔서 감사합니다. 포함 된 장고 코드를 둘러보고 urls.py의 뷰에 대한 직접 링크를 포함 시켰습니다. 이름을 바꾸고 슬래시를 제거해야했지만 : 'url (r '^ setlang', 'django.views.i18n.set_language '),

(select_language.html) 노력에 다시 한번 감사드립니다. –

관련 문제