Я переопределил обработчик функции запроса GET в этом представлении на основе классов. В моем операторе else мне нужно передать в качестве данных контекста форму, которую класс создает естественным образом (если я не переопределил функцию GET). Как я могу это сделать?
Я не создал форму в forms.py для создания формы для модели Post. Я позволил представлению создания класса обрабатывать создание формы для меня. Итак, как я могу получить эту форму и передать в качестве данных контекста.
Единственный способ думать об этом - создать представление на основе функций и избегать использования этого представления на основе классов в этих обстоятельствах.
class PostCreateView(LoginRequiredMixin, CreateView):
model = Post
fields = ["title", "content", "payment_option", "price"]
def get(self, request):
card_set = BillingProfile.objects.get(user=request.user).card_set.all()
if not card_set.exists():
# The user does NOT have an inserted payment method.
return redirect("/billing/payment-method?next=/post/new/")
else:
# The user DOES have an inserted payment method.
form = "???"
return render(request, "posting/post_form.html", {"form":form})