from django.shortcuts import render, redirect from django.contrib import messages from django.core.mail import send_mail from django.template.loader import get_template from django.template import Context from django.http import HttpResponse from django.views.generic import View from archilance.mixins import BaseMixin from .forms import PrintOrderForm from .models import PrintDocuments, PrintOrder class PrintDocumentCreate(BaseMixin, View): form_class = PrintOrderForm template_name = 'printdocument_create.html' def get(self, request, *args, **kwargs): form = self.form_class(request=request) return render(request, self.template_name, {'form': form}) def post(self, request, *args, **kwargs): form = self.form_class(request.POST, request.FILES, request=request) if form.is_valid(): print_order = form.save(commit=False) print_order.save() for file in request.FILES.getlist('new_files'): print_doc = PrintDocuments.objects.create(file=file, printorder=print_order) print_doc.save() send_mail('Заявка на распечатку', get_template('document_email.html').render( { 'username': 'Mukhtar', 'files': 'This is files list' } ), 'dagdahzub@mail.ru', ['muhtarzubanchi05@gmail.com'], fail_silently=True ) messages.info(request, 'Заявка на распечатку принята') return redirect('common:create') # import code; code.interact(local=dict(globals(), **locals())) else: context = self.get_context_data(**kwargs) context.update({'form': form}) return render(request, self.template_name, context)