Реверс для 'post_edit' с аргументами '(' ',)' не найден. Попробован 1 шаблон (ов): ['post / (? P <pk>[0-9] +) / edit / $'] - PullRequest
0 голосов
/ 24 апреля 2020

я делаю сайт блога, но проблема заключается в следующем:

На моей домашней странице есть блоги, которые я добавил, но когда я нажимаю на них, они показывают ошибку 500, которая обозначается как: NoReverseMatch по адресу /post/1/.

Мое тело кода выглядит следующим образом и мое приложение называется Блог:

Models.py

from django.db import models

from django.urls import reverse

class Post(models.Model):

title = models.CharField(max_length=200)

author = models.ForeignKey(
    'auth.User',

    on_delete=models.CASCADE,

)

body = models.TextField()


def __str__(self):
    return self.title


def get_absolute_url(self):
     return reverse('post_detail', args=[str(self.id)])

URL. py:

from django.urls import path


from . import views

urlpatterns = [

          path('', views.BlogListView.as_view(), name='home'),

          path('post/<int:pk>/', views.BlogDetailView.as_view(), name='post_detail'),

          path('post/new/', views.BlogCreateView.as_view(), name='post_new'),

          path('post/<int:pk>/edit/', views.BlogUpdateView.as_view(), name='post_edit'),
]

Views.py:

from django.views.generic import ListView, DetailView

from django.views.generic.edit import CreateView, UpdateView

from . models import Post



class BlogListView(ListView):
model = Post
template_name = 'home.html'


class BlogDetailView(DetailView):

model = Post

template_name = 'post_detail.html'
context_object_name = 'anything_you_want'    


class BlogCreateView(CreateView):

model = Post

template_name = 'post_new.html'
fields = '__all__' 


class BlogUpdateView(UpdateView):

model = Post

fields = ['title', 'body']
template_name = 'post_edit.html'

Я использую функцию «Обратный импорт», чтобы вернуться на ту же страницу после добавления блога, но также показывает ту же ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...