Как создать PDF-форму со значениями, заполненными из значений мастера форм Django, и отправить электронное письмо - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь создать PDF-форму со значениями, заполненными мастером форм Django, и отправить электронное письмо с PDF-файлом.Но я застрял, пытаясь получить значения и создания PDF.

Это мой файл forms.py


class FormStepOne(forms.Form):
    qualifying_criteria = forms.MultipleChoiceField(label='Applicant company must qualify against at least one', required=True,
                                                    widget=forms.CheckboxSelectMultiple, choices=CRITERIA_CHOICES)
    details = forms.CharField(label="Provide more details and give reasons for wanting to join the Chamber and what you are expecting from your membership",
                              widget=forms.Textarea(attrs={"rows": 10, "cols": 20}))


class FormStepTwo(forms.Form):
    company_name = forms.CharField(
        label="Company Name (in full):", max_length=100)
    other_name = forms.CharField(
        label="Other Trading Name(s) if applicable:", max_length=100, required=False)
    physical_address = forms.CharField(
        label='Physical Address:', widget=forms.Textarea(attrs={"rows": 5, "cols": 20}))
    email = forms.EmailField(label="Email:")
    website = forms.URLField(label="Website:", required=False)
    contact_name = forms.CharField(label="Name:", max_length=100)
    job_title = forms.CharField(label="Job Title:", max_length=150)
    contact_mobile = forms.CharField(label="Mobile", max_length=30)
    contact_telephone = forms.CharField(
        label="Telephone No", max_length=30, required=False)
    contact_email = forms.EmailField(label="Email Address:")

views.py


class FormWizardView(SessionWizardView):
    template_name = "join.html"
    form_list = [FormStepOne, FormStepTwo]
    file_storage = FileSystemStorage(
        location=os.path.join(settings.MEDIA_ROOT))


    def done(self, form_list, **kwargs):

        form_data = [form.cleaned_data for form in form_list]

        criteria = form_data[0]['qualifying_criteria']
        self.request.session['criteria'] = criteria
        self.request.session['details'] = form_data[0]['details']


        return redirect('complete')

class Process_Data(TemplateView):
    template_name = 'corporate-form.html'

    def get_context_data(self,**kwargs):

        context = super(Process_Data, self).get_context_data( **kwargs)
        context['criteria'] = self.request.session['criteria']
        context['details'] = self.request.session['details']


        return context


В моих представлениях у меня есть представление мастера форм, где я получаю формы и перенаправляю их навторой вид, как только пользователь закончил.Во втором представлении я пытаюсь использовать данные из мастера форм и заполняю HTML-форму.Моя идея заключалась в том, чтобы заполнить форму и создать PDF, а затем отправить электронное письмо, но я застрял.

Любой, у кого есть лучшее предложение о том, как мне получить форму PDF, заполненную значениями из мастера форм, и отправить электронное письмо сPDF

...