Как я могу создать 2 формы одновременно в одном представлении в django - PullRequest
1 голос
/ 18 июня 2020

У меня есть две формы в одном шаблоне ('index. html'), одна форма предназначена для связи со мной, и когда пользователь отправляет форму, я получаю электронное письмо. Другая форма - «зарегистрироваться» в системе, чтобы я мог войти в контакт. Проблема в том, что две формы находятся в одном шаблоне, и я хочу поместить их в одно и то же представление.

Таково мое представление.

class IndexView(FormView):
template_name = 'index.html'
form_class = ContatoForm
success_url = reverse_lazy('index')

def get_context_data(self, **kwargs):
    context = super(IndexView, self).get_context_data(**kwargs)
    context['servicos'] = Servico.objects.order_by('?').all()
    context['funcionarios'] = Funcionario.objects.order_by('?').all()
    context['portfolios'] = Portfolio.objects.order_by('?').all()
    context['testimonials'] = Testimonial.objects.order_by('?').all()

    return context

def form_valid(self, form, *args, **kwargs):
    form.send_mail()
    messages.success(self.request, 'E-mail enviado com sucesso')
    return super(IndexView, self).form_valid(form, *args, **kwargs)

def form_invalid(self, form, *args, **kwargs):
    messages.error(self.request, 'Erro ao enviar e-mail')

    return super(IndexView, self).form_invalid(form, *args, **kwargs)

Это модельная форма что я хочу поместить в представление

class RegistroModelForm(forms.ModelForm):
class Meta:
    model = Registro
    fields = ['nome', 'email', 'phone', 'area']
...