python - postdetail() 得到了一个意外的关键字参数“post”
问题描述
我在 django/python 中有错误。当我进入帖子列表并尝试打开帖子详细信息时出现此错误:
postdetail() 得到了一个意外的关键字参数“post”
当我尝试
view.py 代码:
from django.shortcuts import render, get_list_or_404
from django.http import HttpResponse
from django.urls.base import reverse
from django.urls.converters import SlugConverter
from .models import post
def index(request):
tpost = post.objects.all()
return HttpResponse("Welcome to the django website")
def postlist(request):
tpost = post.objects.filter(status = "published")
return render(request, "blog/post/list.html", {"posts": tpost})
def postdetail(request, npost, pk):
post = get_list_or_404(npost, slug = npost, id = pk)
return render(request, "blog/post/detail.html", {"fpost": post})
models.py 代码:
from django.contrib import auth
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.urls import reverse
class post(models.Model):
STATUS_CHOICES = (
("draft", "Draft"),
("published", "Published"),
)
title = models.CharField(max_length = 250)
slug = models.SlugField(max_length = 250, unique_for_date = "publish")
author = models.ForeignKey(User, on_delete = models.CASCADE, related_name = "blog_post")
body = models.TextField()
publish = models.DateTimeField(default = timezone.now)
created = models.DateTimeField(auto_now_add = True)
updated = models.DateTimeField(auto_now = True)
status = models.CharField(max_length = 10, choices = STATUS_CHOICES, default = "draft")
objects = models.Manager()
class Meta:
ordering = ("-publish",)
def get_absolute_url(self):
return reverse("blog:post_detail", args = [self.slug, self.id])
def __str__(self):
return self.title
这是 urls.py 代码:
app_name = "blog"
urlpatterns = [
path("postlist/", views.postlist, name = "post_list"),
path("postdetail/<slug:post>/<int:pk>/", views.postdetail, name
= "post_detail"),
]
解决方案
推荐阅读
- hive - 如何在 AWS Athena 中按列名而不是按列顺序从多个 CSV 创建表
- javascript - 这个函数声明是什么意思?函数名和参数相同
- python - 捕获溢出错误
- asp.net - VB.NET WEB API 2 中的多种 GET 方法
- unreal-engine4 - 灌木在某些侧面变黑
- vba - 处理大型 VBA 集合数据 - 过程太大错误
- maven - 在黄瓜 Junit 运行中出现初始化错误
- python - 有没有办法制作一个关于计算列表中不同元素的不同变量出现的列表?
- java - (Java) 在 if 语句中比较两个变量的值但不能使用 `.equals()`
- reactjs - 隐藏组件时如何捕捉?