python - 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 响应“当前路径,博客,与其中任何一个都不匹配”。
解决方案
我认为您尚未在基本 urls.py 中包含博客应用程序,请参阅此 django 文档。
推荐阅读
- android - 在函数中对 Control + Click 执行反向操作以查看 Android Studio 上的声明
- python - 如何旋转精灵并将子弹射向鼠标位置?
- python - Python返回none而不是字符串输出
- python - 如何指定脚本应在脚本中执行函数而不停止的次数?键入一个循环?
- c++ - Overloading operator[] keeps throwing a runtime error
- sql - 使用完全外连接时无法在主查询中指定 where 子句
- javascript - Passing data between components using EventBus
- python-3.x - 循环 Python 基础
- javascript - a-frame entity-positioning and rotation
- javascript - Antd 对其他包的 getFieldDecorator