UnboundLocalError at /products/add_review/2/ локальная переменная 'form' ссылается перед присвоением

Я пытаюсь добавить раздел отзывов на страницу подробного описания товара. Я столкнулся с этой ошибкой и не могу найти причину. Любая помощь будет принята с благодарностью. Я не использовал stackoverflow раньше, поэтому не уверен, что дал достаточно подробную информацию.

Измените ваш файл views.py на

""" View to add a review to the products"""
@login_required
def add_review(request, product_id):
    """ Add a review of a product """
    product = get_object_or_404(Product, pk=product_id)
    form = ReviewForm(request.POST or None) #new
    if request.user.is_authenticated:
        if request.method == 'POST':
            if form.is_valid():
                review = form.save(commit=False)
                review.product = product
                review.review_author = request.user
                review.save()
                messages.success(
                    request, 'Successfully added your review!')
                return redirect(reverse('product_detail', args=[product.id]))
            else:
                messages.error(
                    request, 'Failed to add review. Please ensure the form is valid')

    context = {
        'form': form
    }

    return render(request, context)

Вам нужно инициализировать форму, когда метод запроса - get. Код, который вы написали, инициализирует форму только тогда, когда метод запроса - Post.

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