Django не может получить доступ к slug - comment_create() получил неожиданный аргумент ключевого слова 'slug'
Я пытаюсь создать раздел комментариев под url с slug:slug
при использовании следующего кода возникает ошибка comment_create() got an unexpected keyword argument 'slug' всплывает
urls.py
from django.urls import path
from . import views
from .views import MovieList, MovieDetail, MovieCategory, MovieLanguage, MovieSearch, MovieYear, CommentForm
app_name = 'movie'
urlpatterns = [
path('', MovieList.as_view(), name='movie_list'),
path('search/', MovieSearch.as_view(), name='movie_search'),
path('category/<str:category>', MovieCategory.as_view(), name='movie_category'),
path('language/<str:lang>', MovieLanguage.as_view(), name='movie_language'),
path('year/<int:year>', MovieYear.as_view(), name='movie_year'),
path('<slug:slug>', MovieDetail.as_view(), name='movie_detail'),
path('<slug:slug>/add-comment/', views.add_comment, name='add-comment'),
]
models.py
from django.contrib.auth.models import User
from django.db import models
from django.utils.text import slugify
from django.utils import timezone
# Create your models here.
CATEGORY_CHOICES = (
('action', 'ACTION'),
('drama', 'DRAMA'),
('comedy', 'COMEDY'),
('romance', 'ROMANCE'),
)
LANGUAGE_CHOICES = (
('english', 'ENGLISH'),
('german', 'GERMAN'),
)
STATUS_CHOICES = (
('RA', 'RECENTLY ADDED'),
('MW', 'MOST WATCHED'),
('TR', 'TOP RATED'),
)
class Movie(models.Model):
title = models.CharField(max_length=100)
description = models.TextField(max_length=1000)
image = models.ImageField(upload_to='movies')
banner = models.ImageField(upload_to='movies_banner', blank=True)
category = models.CharField(choices=CATEGORY_CHOICES, max_length=10)
language = models.CharField(choices=LANGUAGE_CHOICES, max_length=10)
status = models.CharField(choices=STATUS_CHOICES, max_length=2)
cast = models.CharField(max_length=100)
year_of_production = models.DateField()
views_count = models.IntegerField(default=0)
movie_trailer = models.URLField()
created = models.DateTimeField(blank=True, default=timezone.now)
slug = models.SlugField(blank=True, null=True)
name = models.CharField(max_length=200, null=False, blank=False)
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
super(Movie, self).save(*args, **kwargs)
def __str__(self):
return self.title
LINK_CHOICES = (
('D', 'DOWNLOAD LINK'),
('W', 'WATCH LINK'),
)
class MovieLinks(models.Model):
movie = models.ForeignKey(Movie, related_name='movie_watch_link', on_delete=models.CASCADE)
type = models.CharField(choices=LINK_CHOICES, max_length=1)
link = models.URLField()
def __str__(self):
return str(self.movie)
class Comment(models.Model):
movie = models.ForeignKey(Movie, related_name="comments", on_delete=models.CASCADE)
commenter_name = models.CharField(max_length=200)
comment_body = models.TextField()
date_added = models.DateTimeField(auto_now=True)
def __str__(self):
return '%s - %s' % (self.movie.name, self.commenter_name)
views.py
forms.py
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = ('commenter_name', 'comment_body')
widgets = {
'commenter_name': forms.TextInput(attrs={'class': 'form-control'}),
'comment_body': forms.Textarea(attrs={'class': 'form-control'}),
}
Пожалуйста, имейте в виду, что я относительно новичок в Python и Django.
Когда я пытаюсь вручную перейти к моему slug/add-comment/ в данном случае 127.0.0.1:8000/movies/aquaman/add-comment, возникает следующая ошибка
введите описание изображения здесь