反向查找'blog_detail',未找到任何参数.尝试了1个模式:['博客/(?P< pk> [0-9] +)$'] [英] Reverse for 'blog_detail' with no arguments not found. 1 pattern(s) tried: ['blog/(?P<pk>[0-9]+)$']
本文介绍了反向查找'blog_detail',未找到任何参数.尝试了1个模式:['博客/(?P< pk> [0-9] +)$']的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
反向查找"blog_detail",未找到任何参数.
Reverse for 'blog_detail' with no arguments not found.
反向查找"blog_detail",未找到任何参数.1个图案尝试过:['blog/(?P [0-9] +)$']
Reverse for 'blog_detail' with no arguments not found. 1 pattern(s) tried: ['blog/(?P[0-9]+)$']
models.py
models.py
class Blog(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
title = models.CharField(max_length=80)
slug = models.SlugField(max_length=80, unique=True, db_index=True, blank=True, null=True)
description = models.TextField(max_length=1080, blank=True, null=True)
image = models.ImageField(upload_to='blog/')
tags = models.CharField(max_length=30, blank=True, null=True)
category2 = models.CharField(max_length=50, blank=True, null=True)
category = models.ManyToManyField("BlogCategory")
created_on = models.DateTimeField(default=timezone.now())
is_active = models.BooleanField(default=True)
def __unicode__(self):
return self.title
def get_absolute_url(self):
return reverse("blog_detail", kwargs={"pk": self.pk})
views.py
class BlogDetail(DetailView):
model = Blog
queryset = Blog.objects.all()
template_name = "testapp/blogd.html"
urls.py
from django.urls import path
from .views import (BlogList, BlogDetail)
urlpatterns = [
path('blog/l', BlogList.as_view(), name='blog_list'),
path('blog/<int:pk>', BlogDetail.as_view(), name='blog_detail'),
]
推荐答案
您必须使用args关键字才能在get_absolute_url方法中传递参数:
you must args keyword for passing arguments in get_absolute_url method:
def get_absolute_url(self):
return reverse("blog_detail", args=[str(self.pk)])
这篇关于反向查找'blog_detail',未找到任何参数.尝试了1个模式:['博客/(?P< pk> [0-9] +)$']的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文