首页 > 解决方案 > Django URL 上的错误:在 website.urls 中定义的 URLconf,Django 尝试了这些 URL 模式

问题描述

我正在我自己的域上使用 nginx/gunicorn 在 ubuntu 数字海洋水滴上运行 django 项目。我正在使用 Django 版本 3.1.6 和 Python 3.8.5 的虚拟环境

我正在尝试按照Corey Shafers Django 教程创建博客应用程序,虽然我可以访问 example.com 上的通用 django 成功页面,但我从 example.com/blog 遇到了以下内容:

找不到页面 (404) 请求方法:GET 请求 URL:example.com/blog 使用 website.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:

admin/ 当前路径 blog 与其中任何一个都不匹配。


我当前的 ~/projectdir/website/urls.py (请参阅底部的编辑):

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
        path('admin/',admin.site.urls),
        path('', include('blog.urls')),
]

我的 ~/projectdir/blog/urls.py:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='blog-home'),
    path('about/', views.about, name='blog-about'),
]

我的 ~/projectdir/blog/views.py:

from django.shortcuts import render
from django.http import HttpResponse


def home(request):
    return HttpResponse('<h1>Blog Home</h1>')


据我所知,从语法上看,一切看起来都不错,但我不知道为什么 URLconf 没有看到博客路径。我试过重新加载 nginx,但没有帮助。

编辑

我已将 /projectdir/website/urls.py 编辑为如下所示:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
        path('admin/',admin.site.urls),
        path('blog', include('blog.urls')),
]

我仍然收到相同的 404 响应“当前路径,博客,与其中任何一个都不匹配”。

标签: pythondjangodigital-ocean

解决方案


我认为您尚未在基本 urls.py 中包含博客应用程序,请参阅此 django 文档


推荐阅读