【发布时间】:2021-05-11 18:49:10
【问题描述】:
我正在我自己的域上使用 nginx/gunicorn 在 ubuntu 数字海洋水滴上运行 django 项目。我正在使用 Django 版本 3.1.6 和 Python 3.8.5 的虚拟环境
我正在尝试关注 Corey Shafers Django tutorial 来创建一个博客应用程序,虽然我可以访问 example.com 上的通用 django 成功页面,但我从 example.com/blog 遇到了以下内容:
找不到页面 (404) 请求方法:GET 请求网址:example.com/blog 使用 website.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:
管理员/ 当前路径 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 响应“当前路径,博客,与其中任何一个都不匹配。”
【问题讨论】:
-
我没有看到任何以
blog结尾的模式... -
您确实将博客包含在空路径中,并且您希望拥有 /blog url
标签: python django digital-ocean