feat: upload file in contact form

This commit is contained in:
mohamad
2026-06-07 17:09:04 +03:30
parent 76185c7434
commit cbc49cd8ae
11 changed files with 536 additions and 6 deletions
+14 -2
View File
@@ -12,6 +12,7 @@ from .forms import ContactForm
from .models import (
AboutSection,
ContactSubmission,
ContactSubmissionAttachment,
CustomPage,
FAQEntry,
HeroSection,
@@ -87,7 +88,10 @@ class ContactView(View):
)
def post(self, request, *args, **kwargs):
form = ContactForm(request.POST)
form = ContactForm(
request.POST,
file_list=request.FILES.getlist("attachments"),
)
expected = request.session.get("captcha_answer")
captcha_question = self._new_captcha(request)
@@ -98,7 +102,15 @@ class ContactView(View):
pass
if form.is_valid() and captcha_ok:
form.save()
submission = form.save()
for uploaded_file, original_name in form.cleaned_data.get(
"attachments", []
):
attachment = ContactSubmissionAttachment(
submission=submission,
original_filename=original_name,
)
attachment.file.save(original_name, uploaded_file, save=True)
return JsonResponse({"success": True})
errors: dict = {}