首页 > 解决方案 > 如何在 django 3.2 中解决 NoReverseMatch at /(模板渲染期间出错)?

问题描述

这是我得到的错误截图。

在此处输入图像描述

在此处输入图像描述

应用名称是 greeting_app 现在 greeting_app/urls.py 有以下代码

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name="home"),
    path('about/<int:id>/', views.about, name="about"),
]

greeting_app/views.py 有以下代码

from django.shortcuts import render, HttpResponse
from .models import basicinformation

# Create your views here.
def home(request):
    information = basicinformation.objects.all()
    return render(request, 'index.html', {"info":information})

def about(request, id):
    data = basicinformation.objects.get(id=id)
    return render(request, 'about.html', {"data":data})

templates/index.html 有以下代码。我只在 index.html 文件中包含了 url 部分。

<a href="{% url "about" data.id %}">Description</a>

标签: pythondjango

解决方案


data.id不包含 ID。从它包含的错误消息中('',)(或者可能(",)- 很难从图像中分辨出来。请不要使用图像!)。

你这样做 for all in info,然后all在每个其他模板行中引用,然后突然尝试使用data.id.

由于您尚未发布整个模板,因此很难说,但我怀疑您想all.id在此处的 URL 中使用,而不是data.id.


推荐阅读