我有一个大部分完成的django应用程序,当我使用manage.py runserver命令运行它时,URL工作正常。但是,我最近试图通过lighttpd运行它,许多链接已停止工作。
例如:http://mysite.com/races/32应该有效,但会抛出此错误消息。
Page not found (404)
Request Method: GET
Request URL: http://mysite.com/races/32
Using the URLconf defined in racetrack.urls, Django tried these URL patterns, in this order:
^admin/
^create/$
^races/$
^races/(?P<race_id>\d+)/$
^races/(?P<race_id>\d+)/manage/$
^races/(?P<text>\w+)/$
^user/(?P<kol_id>\d+)/$
^$
^login/$
^logout/$
The current URL, 32, didn't match any of these.
请求网址是准确的,但最后一行(显示当前网址)正在按预期提供32而不是比赛/ 32。
这是我的urlconf:
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('racetrack.races.views',
(r'^admin/', include(admin.site.urls)),
(r'^create/$', 'create'),
(r'^races/$', 'index'),
(r'^races/(?P<race_id>\d+)/$', 'detail'),
(r'^races/(?P<race_id>\d+)/manage/$', 'manage'),
(r'^races/(?P<text>\w+)/$', 'index'),
(r'^user/(?P<kol_id>\d+)/$', 'user'),
# temporary for index page replace with welcome page
(r'^$', 'index'),
)
urlpatterns += patterns('django.contrib.auth.views',
(r'^login/$', 'login', {'template_name': 'races/login.html'}),
(r'^logout/$', 'logout', {'next_page': '/'}),
)
谢谢。
答案 0 :(得分:2)
我认为问题在于lighttpd的配置。
Django能够将“请求网址”“翻译”为“当前网址”以进行网址检查,例如通过mod_python
的{{3}}配置。