Django URL Regex не соответствует - PullRequest
1 голос
/ 03 мая 2011

Использование Django 1.3 с сервером разработки

Я пытаюсь соединиться с: http://127.0.0.1:8000/lang/en

Ответ:

Использование URLconf, определенного в pruebas.URL, Django попробовал эти шаблоны URL, в следующем порядке:

  1. ^ admin /
  2. ^ correo / $
  3. ^ login / $
  4. ^ lang / (? P \ w +) / $
  5. ^ site_static / (? P. *) $

Текущий URL, не соответствует ни одному из них.

А это мой "urls.py":

from pruebas import settings
from django.conf.urls.defaults import *


# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

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

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
    (r'^correo/$', 'mailclient.views.index'),
    (r'^login/$', 'kusers.views.klogin'),

    # Language change
    (r'^lang/(?P<lang_code>\w+)/$', 'kusers.views.lang'),    

)




if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^site_static/(?P<path>.*)$', 'django.views.static.serve',  
         {'document_root':     settings.STATIC_ROOT}),)

Я думаю, что строка:

(r '^ lang / (? P \ w +) / $ ',' kusers.views.lang '),

будет соответствовать "http://127.0.0.1:8000/lang/en", но, похоже, я ошибаюсь.

Заранее спасибо

Код в kusers / views.py:

def lang(request, lang_code):
    request.session['django_language'] = lang_code
    return HttpResponseRedirect( "/" )

решено.

Проблема не была в конфигурации urls.py. Проблема быластруктура папки приложения 'kuser'.

Спасибо

1 Ответ

3 голосов
/ 03 мая 2011

Если вы добавите косую черту в URL, она будет работать, как в:

http://127.0.0.1:8000/lang/en/

...