TypeError:join()参数必须是str,bytes或os.PathLike对象,而不是'dict'

时间:2020-07-26 01:12:21

标签: python django

我在其他地方看到了这个问题,但答案不适用。我正在学习一门课程,复制了确切的代码,但是它不起作用。请告诉我任何错误。

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的新手。

1 个答案:

答案 0 :(得分:1)

您的“发布”视图在render方法中缺少请求,应该为:

def post(request, slug):
    print(slug)
    return render(
        request, 
        'post.html', 
        {'post': get_object_or_404(Post, slug=slug)}
    )