Skip to main content
 首页 » 编程设计

python之Django之找不到页面 404

2024年10月25日31Terrylee

我正在尝试使用 Django 创建一个站点。我有索引 View ,但我想创建一个简单的自定义 View 并映射到它,但我做不到。我遇到了 404 错误。

我项目中的应用称为电子邮件。

文件如下:

基础/urls.py

from django.conf.urls import patterns, include, url 
from django.contrib import admin 
admin.autodiscover() 
 
urlpatterns = patterns('', 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^emails/$', include('emails.urls')), 
) 

电子邮件/urls.py

from django.conf.urls import patterns, include, url 
 
from emails import views 
 
urlpatterns = patterns('', 
    url(r'^$', views.index, name='index'), 
    url(r'^custom/$', views.custom, name='custom'), 
) 

电子邮件/views.py

from django.http import HttpResponse 
 
def index(request): 
    return HttpResponse("Hello world, you're at the index.") 
 
def custom(request): 
    return HttpResponse("This is a custom view.") 

这是404:

使用 crm.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:

^admin/ 
^/emails/$ 

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

当我访问 localhost:8000/emails/ 时 - 我看到了索引 View 。但是 localhost:8000/emails/custom/ 返回 404 错误。任何帮助将不胜感激!

请您参考如下方法:

这个 url(r'^emails/$', include('emails.urls')), 应该没有美元符号 $:

url(r'^emails/', include('emails.urls')),

您不想在 emails 之后结束您的路径,因此不要以正则表达式字符 $ 结束字符串。让它能够在另一个urls.py文件中继续