2015-01-09 3 views
0

У меня проблема с маршрутизацией Django i18n. Я хочу установить язык по URL-адресу, но не работает. Я создал urls.py в проекте, а в приложении еще один urls.py. Код выглядит следующим образом:Маршрутизация Django i18n не работает должным образом

личный/urls.py

from django.conf.urls import patterns, include, url 
from django.conf.urls.i18n import i18n_patterns 
from django.contrib import admin 
from django.utils.translation import ugettext_lazy as _ 

from personalasier import views 

urlpatterns = patterns('', 
    # Examples: 
    # url(r'^$', 'personal.views.home', name='home'), 
    # url(r'^blog/', include('blog.urls')), 

    url(r'^admin/', include(admin.site.urls)), 
) 

urlpatterns += i18n_patterns(
    url(r'^cv/$',include('personalasier.urls')), 
) 

personalasier.py

from django.conf.urls import patterns, url 

from personalasier import views 

urlpatterns = patterns('', 
    url(r'^$', views.index, name='index'), 
) 

Когда я получить доступ к/или/резюме возвращает 404 и показывает мне:

Using the URLconf defined in personal.urls, Django tried these URL patterns, in this order: 
    ^admin/ 
    ^es/ 
The current URL, , didn't match any of these. 

И если я получаю доступ к/es /,/es/cv/or/es/cv, дает следующий 404 с этим результатом:

Using the URLconf defined in personal.urls, Django tried these URL patterns, in this order: 
    ^admin/ 
The current URL, es/, didn't match any of these. 

Наконец я попытался отменить URL и броски и исключение:

>>>from django.core.urlresolvers import reverse 
>>> from django.utils.translation import activate 
>>> activate("es") 
>>> reverse("index") 
Traceback (most recent call last): 
    file "<console>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 551, in reverse 
     return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 468, in _reverse_with_prefix(lookup_view_s, args, kwargs, len(patterns), patterns)) 
NoReverseMatch: Reverse for 'index' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 

Спасибо !!

ответ

0

Я думаю, вам нужно активировать язык? Читайте это: https://docs.djangoproject.com/en/1.7/topics/i18n/translation/#language-prefix-in-url-patterns. Вы пробовали из командной строки? Это работает?

+0

Я попытался с оболочкой, я активировал язык, выполнил возврат и Python дал мне исключение ... – Asier

+0

Просто попробовал с чистой установкой Django и работал для меня. У вас все еще проблема? Вы используете Django 1.7? –

Смежные вопросы