Python 我不能';t打开';关于.html';在views.py中使用返回渲染时

Python 我不能';t打开';关于.html';在views.py中使用返回渲染时,python,django,Python,Django,很抱歉,我是Django新手,因为我正在创建一个网站并尝试使用通用方式,但是当我使用return render方式时,它无法打开相关的html文件(about.html),有人帮助吗? views.py: from django.shortcuts import render from django.views import generic from .models import Post # Create your views here. class PostList(generic.List

很抱歉,我是Django新手,因为我正在创建一个网站并尝试使用通用方式,但是当我使用return render方式时,它无法打开相关的html文件(about.html),有人帮助吗? views.py:

from django.shortcuts import render
from django.views import generic
from .models import Post
# Create your views here.
class PostList(generic.ListView):
    queryset = Post.objects.filter(status=1).order_by('-created_on')[:4]
    template_name = 'index.html'

class PostDetail(generic.DetailView):
    model = Post
    template_name = 'post_detail.html'

def about(request):
    return render(request, 'about.html')
URL.py:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.PostList.as_view(), name='index'),
    path('<slug:slug>/', views.PostDetail.as_view(), name='post_detail'),
    path('about/', views.about, name='about')
]
从django.url导入路径
从…起导入视图
URL模式=[
路径(“”,views.PostList.as_view(),name='index'),
路径('/',views.postdail.as_view(),name='post_detail'),
路径('about/',views.about,name='about')
]

您的url.py设置不正确:
路径(“/”,…)
也与url“/about/”匹配,因此它将使用slug=“about”启动post_详细视图

您需要将URL的顺序从最特定更改为最不特定(因此在“post_detail”之前选择“about”)。更好的做法是,将与帖子相关的URL更改为包含“posts”一词,这也是更好的做法:

urlpatterns = [
    path('posts/', views.PostList.as_view(), name='index'),
    path('posts/<slug:slug>', views.PostDetail.as_view(), name='post_detail'),
    path('about/', views.about, name='about')
]
urlpatterns=[
路径('posts/',views.PostList.as_view(),name='index'),
路径('posts/',views.postdail.as_view(),name='post_detail'),
路径('about/',views.about,name='about')
]

你说的“无法打开相关html文件”是什么意思?你有错误吗?如果是,请复制并粘贴问题中的错误跟踪。你到底在做什么导致它?例如,您在浏览器中输入了哪个url?是否可以显示项目文件系统?因此,我们可以检查
about.html
文件是否在templates目录下的应用程序中。谢谢,在我更改了它的顺序后,一切都很好,我仍然使用“”作为“索引”,因为我需要它的主页。