Django POST данные через форму и перенаправление на страницу с POST данными

У меня есть форма Django, которую после отправки данных я хотел бы перенаправить на другую страницу, где эти данные будут отображены.

У меня проблемы, поскольку я не знаю, как получить внешний ключ, пока форма не будет отправлена

Форма

class addEventForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(addEventForm, self).__init__(*args, **kwargs)

    class Meta:
        model = Event
        fields = '__all__'

View

class addEventView(LoginRequiredMixin,View):
    template_name = 'pages/add_event.html'

    def get(self, request, *args, **kwargs):
        return render(request, self.template_name)

    def post(self, request, *args, **kwargs):
        form = addEventForm(request.POST)
        if form.is_valid():
            form.save()
            data = {"success": "successfully added"}
        else:
            data = {"error": form.errors}
        return JsonResponse(data, safe=False)

Как мне перенаправить данные из POST?

Спасибо

Вы можете воспользоваться CreateView и success_url

Попробуйте

from django.views.generic.edit import CreateView
from django.urls.base import reverse_lazy

class addEventView(LoginRequiredMixin, CreateView):
    template_name = 'pages/add_event.html'
    model = Event
    form_class = addEventForm
    success_url = reverse_lazy('url_name_you_want_to_redirect_to')

FYI: в python имена классов обычно должны использовать соглашение CapWords, поэтому лучше изменить addEventForm на AddEventForm и addEventView на AddEventView с уважением.

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