【问题标题】:Django 1.5 "Page not found" with GET parameters in urlDjango 1.5“找不到页面”,url中带有GET参数
【发布时间】:2013-07-04 11:52:12
【问题描述】:

我对 Django 没什么问题。它无法识别带有这样获取参数的网址:

http://example.com/login/?next=/me/registrace/

我想是因为设置不好,但我不知道在哪里。即使在管理中也存在同样的问题。

这是我在错误页面上看到的:

Using the URLconf defined in example.urls, Django tried these URL patterns, in this order:

    ^admin/
    ^imperavi/
    ^login/$ [name='login']
    ^$ [name='index']

The current URL, login/, didn't match any of these.

我的 urls.py

from django.conf.urls import patterns, include, url
from django.utils.translation import ugettext_lazy as _
from django.contrib import admin

from example.views import IndexView, LoginView

admin.autodiscover()

urlpatterns = patterns('',
    url(_(r'^admin/'), include(admin.site.urls)),
    url(_(r'^imperavi/'), include('imperavi.urls')),
    url(_(r'^login/$'), LoginView.as_view(), name='login'),
    url(_(r'^$'), IndexView.as_view(), name='index'),
)

我尝试删除 ugettext 翻译,但没有帮助。

我也尝试删除我的所有规则,只保留admin,但它仍然不起作用。我试过管理员网址:

http://example.com/admin/auth/user/?o=-1

【问题讨论】:

  • 请出示您的 urls.py。
  • 它不适用于manage.py runserver 吗?
  • 我是在 Gunicorn + nginx 代理上运行的,但是我试过runserver 还是一样。
  • 您能否完整发布您的views.py 或至少发布LoginView?
  • 您有自定义上下文处理器或 url 解析器吗?

标签: python django url parameters get


【解决方案1】:

最后一个网址中缺少一个斜杠:

...

^$ [name='index']

当前 URL,login/,与其中任何一个都不匹配。

就是这样:你的规则应该是url(_(r'^/$'), IndexView.as_view(), name='index'),

【讨论】:

  • 谢谢,我修好了,但没有帮助。 ?something 的问题仍然存在。
  • 也许这不正确,因为我无法访问http://example.com url。
猜你喜欢
  • 2019-01-22
  • 1970-01-01
  • 2017-02-22
  • 2012-05-16
  • 2020-04-14
  • 2015-04-19
  • 2021-10-12
  • 2015-06-22
  • 1970-01-01
相关资源
最近更新 更多