我在其他地方看到了这个问题,但答案不适用。我正在学习一门课程,复制了确切的代码,但是它不起作用。请告诉我任何错误。
from django.shortcuts import render, get_object_or_404
from django.http import HttpResponse
from .models import Post
# Create your views here.
def index(request):
posts = Post.objects.all()
return render(request, 'index.html', {'posts': posts})
def post(request, slug):
print(slug)
return render('post.html', {
'post': get_object_or_404(Post, slug=slug)
})
def about(request):
return render(request, 'about.html', {})
这是我的确切代码,请告诉我我做错了什么。我也是Django的新手。
答案 0 :(得分:1)
您的“发布”视图在render方法中缺少请求,应该为:
def post(request, slug):
print(slug)
return render(
request,
'post.html',
{'post': get_object_or_404(Post, slug=slug)}
)