Реверс для 'blog_detail' без аргументов не найден. Приведено 1 рисунков: ['blog / (? P <pk>[0-9] +) $'] - PullRequest
0 голосов
/ 28 января 2020

Обратное для 'blog_detail' без аргументов не найдено.

Реверс для 'blog_detail' без аргументов не найден. Попробовано 1 рисунков: ['blog / (? P [0-9] +) $']

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'),
]


1 Ответ

1 голос
/ 28 января 2020

Вы должны указать ключевое слово args для передачи аргументов в методе get_absolute_url:

def get_absolute_url(self):
    return reverse("blog_detail", args=[str(self.pk)])
...