【发布时间】:2011-08-17 17:50:58
【问题描述】:
在开发服务器上使用 Django 1.3
我尝试联系:http://127.0.0.1:8000/lang/en
答案是:
使用定义在 pruebas.urls,Django 尝试了这些 URL 模式,按以下顺序:
- ^admin/
- ^correo/$
- ^登录/$
- ^lang/(?P\w+)/$
- ^site_static/(?P.*)$
当前网址 , 不匹配任何 这些。
这是我的“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”匹配,但似乎我错了。
提前致谢
kurs/views.py 中的代码是:
def lang(request, lang_code):
request.session['django_language'] = lang_code
return HttpResponseRedirect( "/" )
已解决。
问题不在于 urls.py 配置。问题在于“kuser”应用程序文件夹结构。
谢谢
【问题讨论】:
-
你的
lang查看代码是什么样的?
标签: regex django django-urls