Добавление комментария через страницу вместо /admin - django

Я могу добавлять комментарии к странице через панель /admin и я хотел бы иметь возможность делать это через buttom...

Я создал HTML-страницу и добавил для нее некоторую функциональность

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

views.py

@login_required(login_url='/accounts/login')
def add_comment(request, slug):
    movie = Movie.objects.get(slug=slug)
    form = CommentForm()
    context = {'form': form}
    return render(request, 'add_comment.html', context)

add_comment.html

<form action="add_comment.html" method="post">

                <textarea name="comment" id="comment" rows="10" tabindex="4"  required="required"></textarea>
                  <a href="{% url 'movies:add_comment' movie.slug %}" class="myButton">Submit</a>

urls.py

path('<slug:slug>', MovieDetail.as_view(), name='movie_detail'),
path('<slug:slug>/add-comment/', views.add_comment, name='add_comment'),

models.py

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)


class Comment(models.Model):
    movie = models.ForeignKey(Movie, related_name="comments", on_delete=models.CASCADE)
    commenter_name = models.ForeignKey(User, default=None, on_delete=models.CASCADE)
    comment_body = models.TextField()
    date_added = models.DateTimeField(auto_now=True)

    def __str__(self):
        return '%s - %s' % (self.movie.title, self.commenter_name)

Я подтвердил, что URL работает и html веб-страница add_comment отображается. Моя цель - позволить пользователю комментировать - было бы лучше, если бы это происходило на той же странице, но также хорошо, если это перенаправляет и позволяет на более новой странице...

Я буду очень признателен тем, кто поможет! :)

Вернуться на верх