Django URL Conf返回不正确的“当前URL”

时间:2010-05-29 11:55:06

标签: django django-urls lighttpd

我有一个大部分完成的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': '/'}),
)

谢谢。

1 个答案:

答案 0 :(得分:2)

我认为问题在于lighttpd的配置。

Django能够将“请求网址”“翻译”为“当前网址”以进行网址检查,例如通过mod_python的{​​{3}}配置。