【发布时间】:2021-10-11 15:32:54
【问题描述】:
您好 Stack Overflow 的慷慨善良的人们。我对 Python 和 Django 还很陌生,并且已经承担了为我的文案构建作品集的项目。
我有一个主登录页面,其中包含 9 个不同的写作项目。有人会点击一个项目的图片,然后被带到一个新页面,该页面有更详细的项目描述。
每个单独的项目页面都有一个 URL,其路径包含一个 slug。我的代码可用于生成此路径。每个写作项目都会有一个包含 projects/(slug) 的 URL 路径
我的问题是我无法获得这个基于 slug 的链接,该链接将指向每个单独的页面以在我的代码中工作。我收到此错误:NoReverseMatch at / 未找到“individual_project”的反向。 “individual_project”不是有效的视图函数或模式名称。
请原谅我对这段代码的任何怀疑,因为我在理解这一切方面有点吃力。
这是我的views.py:
from django.shortcuts import render, get_object_or_404, get_list_or_404
from .models import Project
def individual_project_view(request, project_id):
projectpage = get_list_or_404(Project, slug=project_id)
return render(request, 'projects/project_detail.html', {'projectpage':projectpage})
def project_home(request):
portfolioprojects = get_list_or_404(Project)
return render(request, 'projects/project_detail.html', {'portfolioprojects':portfolioprojects})
这是我的 urls.py:
from django.urls import path, include
from projects import views
app_name = 'portfolio'
urlpatterns = [path('<slug:project_id>', views.individual_project_view, name='individual_project'),]
最后是我的 HTML:
<a href="{% url 'individual_project' %}">
<img src="{{ project.image.url }}" class="img-fluid mb-2"></a>
{% endif %}
<div>
<h2 class= "category">{{ project.category }}</h2>
<h3 class="client">{{ project.description }}</h3>
<h4 class="project_type">{{ project.title }}</h4>
</div>
感谢阅读 - 非常感谢您的帮助!
【问题讨论】: