Рендеринг формы в Django с помощью crispy forms
Я отображаю форму отзыва на странице продукта, однако базовый рендеринг не работает. Я знаю, что у меня правильно установлен crispy forms, так как я использовал его в других местах без проблем. Может ли кто-нибудь понять, где я ошибаюсь?
models.py
from django.db import models
class Review(models.Model):
"""
Model for review form. Assistance with the positive integer field
came from:
https://www.geeksforgeeks.org/positiveintegerfield-django-models/
"""
stars = models.PositiveIntegerField(choices=(
(1, '1 star'), (2, '2 stars'), (3, '3 stars'), (4, '4 stars'),
(5, '5 stars')))
body = models.TextField(blank=False)
created_on = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ["created_on"]
def __str__(self):
return f"Review {self.body}"
forms.py
from django import forms
from .models import Review
class ReviewForm(forms.ModelForm):
"""
Review form set up
"""
class Meta:
model = Review
fields = ('stars', 'body')
views.py
from django.shortcuts import render
from .models import Review
from .forms import ReviewForm
from django.contrib import messages
def review(request):
"""
A view to return review
"""
# reviews = Review.objects.order_by('-created_on').all()
# if request.method == 'POST':
# review_form = ReviewForm(request.POST)
# if review_form.is_valid():
# review_form.instance.name = request.user.username
# review_form.save()
# review_form = ReviewForm()
# messages.add_message(request, messages.SUCCESS,
# 'Your review has been successfully posted!')
# else:
review_form = ReviewForm()
context = {
'review_form': review_form,
}
return render(request, 'product/product_detail.html', context)
Где я создаю форму:
{% if user.is_authenticated %}
<!-- If User is logged in show review form -->
<div class="col-lg-4 submit-review col-md-12">
<h3>Leave a Review:</h3>
<form method="post" action="{% url 'review' %}">
{% csrf_token %}
{{ review_form | crispy }}
<button type="submit" class="btn btn-lg submit-button" aria-label="Submits review">Submit</button>
</form>
</div>
{% endif %}
Не отображается тело формы или вводимые звезды. Урлы правильные, в чем я убедился. Спасибо