【问题标题】:Django URL Conf Returns Incorrect "Current URL"Django URL Conf 返回不正确的“当前 URL”
【发布时间】:2010-05-29 11:55:05
【问题描述】:

我有一个大部分已完成的 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.

请求 URL 是准确的,但最后一行(显示当前 URL)给出的是 32 而不是预期的 race/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': '/'}),
)

谢谢。

【问题讨论】:

    标签: django django-urls lighttpd


    【解决方案1】:

    我认为问题出在 lighttpd 的配置上。

    Django 能够将“请求 url”“翻译”为“当前 url”以进行 url 检查,例如通过 mod_pythondjango.root 配置。

    【讨论】:

    • 我应该包含哪些 lighttpd 配置文件来帮助查明问题?我没有在这方面工作,但我确实可以使用它。
    猜你喜欢
    • 2013-09-09
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 2018-10-31
    • 1970-01-01
    • 2018-12-06
    相关资源
    最近更新 更多