【问题标题】:Getting a 404 when trying to access a url python/django尝试访问 url python/django 时得到 404
【发布时间】:2014-04-21 03:06:40
【问题描述】:

当前,当我尝试访问 url /contato 时,我的应用程序出现 404 错误,我不知道为什么,谁能帮助我?

这是错误:

Page not found (404)

Request Method: GET

Request URL:    http://localhost:8002/contato

(...)
^contato/
(...)

这是我的代码。

我的主要 urls.py 有:

from django.conf.urls import patterns, include, url

from django.conf import settings
from django.contrib import admin
urlpatterns = patterns('',
    url(r'^admin/password_reset/$', 'django.contrib.auth.views.password_reset', name='admin_password_reset'),
    url(r'^admin/password_reset/done/$', 'django.contrib.auth.views.password_reset_done'),
    url(r'^reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm'),
    url(r'^reset/done/$', 'django.contrib.auth.views.password_reset_complete'),

    url(r'^admin/', include(admin.site.urls)),

    url(r'^perfil/', include('perfil.urls')),
    url(r'^contato/', include('contato.urls')),
    url(r'^$', 'views.index', name='index'),)

我的 contato.urls.py:

from django.conf.urls.defaults import patterns, url

urlpatterns = patterns('contato.views',
    url(r'^contato/$', 'contato', name="contato"),
)

我的views.py 在contato:

from django.shortcuts import render_to_response
from django.template import RequestContext


def contato(request):
render_to_response('contato/contato.html',locals(),context_instance=RequestContext(request),)

【问题讨论】:

    标签: python django url http-status-code-404


    【解决方案1】:

    您没有匹配的 URL“/contato”。在您的基本 urls.py 中,您将前缀“/contato”指向包含 contato.urls,然后在该文件中您有一个 URL,它又是“/contato”:因此该视图的组合 URL 是“/contato” /contato”。

    如果您只想让 URL 匹配“contato”,您应该让包含的 url 仅匹配“^$”,或者(可能更好)不要打扰包含单独的 urls.py 并直接匹配视图来自基础文件。

    【讨论】:

      猜你喜欢
      • 2012-03-17
      • 2013-09-22
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-28
      • 2012-07-06
      相关资源
      最近更新 更多