Добавление комментария через страницу вместо /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 отображается. Моя цель - позволить пользователю комментировать - было бы лучше, если бы это происходило на той же странице, но также хорошо, если это перенаправляет и позволяет на более новой странице...
Я буду очень признателен тем, кто поможет! :)