我正在用 Django 制作博客,当我正确遵循教程时,它不断向我显示此错误,而我使用他的教程的人没有得到相同的错误,我哪里出错了?
加上一些像“post”和“request”这样的代码是灰色的,为什么? 并且没有类似的答案解决它,我也更改了名称“post”,但它不起作用
提前致谢
from django.shortcuts import render, redirect, get_object_or_404
from .forms import postform
from .models import post
def detail(request, id):
post = get_object_or_404(post, pk=id)
return render(request, "posts/detail.html", {"post": post})
def delete(request, id):
post = get_object_or_404(post, pk=id)
post.delete()
return redirect("/")
def new(request):
if request.method == "POST":
form = postform(request.POST)
if form.is_valid():
form.save()
return redirect("/")
else:
form = postform()
return render(request, "posts/new.html", {"form": form })
from .models import post
def detail(request, id):
post = get_object_or_404(post, pk=id)
不要使用相同的变量名称,因为“变量阴影”。
您的代码定义了一个新的“post”变量,因此该函数不会从全局查找“post”。
改为:
post_obj=get_object_or_404...