моя форма в Django не отображается в том же шаблоне - PullRequest
0 голосов
/ 23 февраля 2020

привет, я столкнулся с проблемой здесь .. я хочу показать форму комментария в том же шаблоне, чтобы показать комментарий ... код здесь показывает комментарии, но не показывает формы ... я добавил комментарии непосредственно с сайта adminsite чтобы увидеть, появляется ли комментарий, пожалуйста, помогите .. это мой код

models.py

class Comment(models.Model):
medicine = models.ForeignKey('medicine_1.Medicine', on_delete=models.CASCADE, related_name='comments')
author = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
approved_comment = models.BooleanField(default=False)

def approve(self):
    self.approved_comment = True
    self.save()

def __str__(self):
    return self.text

views.py

def add_comment_to_post(request, pk):
medicine = get_object_or_404(Medicine, pk=pk)
if request.method == "POST":
    form = CommentForm(request.POST)
    if form.is_valid():
        comment = form.save(commit=False)
        comment.post = medicine
        comment.save()
        return render(request, 'medicine.html', {'medicine': medicine , 'comment':comment,'form': form})
else:
    form = CommentForm()
return render(request, 'medicine.html', {'form': form})

urls.py

    url(r'^(?P<medicine_id>[0-9]+)/$', views.add_comment_to_post, name='add_comment_to_post'),

forms.py

class CommentForm(forms.ModelForm):

class Meta:
    model = Comment
    fields = ('author', 'text',)

html шаблон медицины

    <form method="POST"  action="{% url 'medicine_1:add_comment_to_post' medicine.id  %}">{% csrf_token %}
    {{ form.as_p }}
    <button type="submit" class="save btn btn-default">Send</button>
</form>

вывод выглядит так:

the output in template medicine

...