我正在尝试使用 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文件中继续
