def contact(request): if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): sender_name = request.POST.get('name') sender_email = request.POST.get('email') subject = request.POST.get('subject') message = request.POST.get('message') email = EmailMessage( 'Message From Website.', message, sender_email, [ '*****@*****.**', '*****@*****.**', '*****@*****.**' ], headers={'Reply-To': sender_email}) email.send() # if sender_name and sender_email and subject and message: # try: # send_mail(subject, message, sender_email, ['*****@*****.**'], # fail_silently=False, # ) # except BadHeaderError: # return HttpResponse("Bad Header") return render(request, 'contact_form/mail_received.html', {}) form = ContactForm() return render(request, 'contact_form/contact_form.html', {'form': form})
def contact_form(request): if request.method == "POST": form = ContactForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'Your request submitted successfully') else: messages.error(request, 'Please fix the errors and re-submit') else: form = ContactForm() return render(request, "contact-form.html", {"form": form})
def get_context_data(self, **kwargs): context = super(HomeView, self).get_context_data(**kwargs) context['view'] = 'home' context['top_mixtures'] = Mixture.published.top_rates() context['top_categories'] = Category.final.top_content() context['form'] = ContactForm(request=self.request) return context
def test_invalid_form(self): data = dict(sender_name='test', sender_email='*****@*****.**', subject='', message='') form = ContactForm(data=data) self.assertFalse(form.is_valid())
def home_page(request): form = ContactForm(request.POST or None) # Get last three projects projects = (ProjectItem.objects.all())[:3] # get about info try: about_page = (About.objects.all())[0] about = about_page.get_cleaned_data() except: about = {} # Check if it form redirection and send response if(request.method == "POST"): response = manage_form(request, form, send_email) return HttpResponse(json.dumps(response), content_type="application/json") context = { "form": form, "projects": projects, "about": about.get("about", ""), "about_img": about.get("about_img", ""), "developer_skills": about.get("developer_skills", ""), "designer_skills": about.get("designer_skills", ""), } tags = [] # Get tags for i in range(len(projects)): tags.append(projects[i].tags.all()) context["tags"] = tags return render(request, "home_page/home_page.html", context)
def get_context_data(self, **kwargs): context = super(MixtureDetailView, self).get_context_data(**kwargs) try: if 'slug' in self.kwargs: # this is backward compatibility mixture = Mixture.published.get( Q(slug_en=self.kwargs['slug']) | Q(slug_es=self.kwargs['slug'])) else: # normal mixture detail request mixture = Mixture.published.get(pk=self.kwargs['pk']) except Mixture.DoesNotExist: raise Http404() context['object'] = mixture currency_code = self.request.GET.get( 'c', settings.CURRENCY_DEFAULT).upper() currency = Currency.objects.get(code=currency_code) context['currency'] = currency context['category_tree'] = Category.tree(mixture.category) context['form'] = ContactForm(request=self.request) return context
def test_valid_data_required(self): """ Can't try to build the message dict unless data is valid. """ data = {"name": "Test", "body": "Test message"} form = ContactForm(request=self.request(), data=data) self.assertRaises(ValueError, form.get_message_dict) self.assertRaises(ValueError, form.get_context)
def test_valid_data_required(self): """ Can't try to build the message dict unless data is valid. """ request = RequestFactory().request() data = {'name': 'Test', 'body': 'Test message'} form = ContactForm(request=request, data=data) self.assertRaises(ValueError, form.get_message_dict)
def test_valid_form(self): data = dict( sender_name='test', sender_email='*****@*****.**', subject=self.subject_foo.id, message='test message from user foo', captcha='', ) form = ContactForm(data=data) self.assertTrue(form.is_valid())
def test_no_sites(self): """ Sites integration works with or without installed contrib.sites. """ with self.modify_settings( INSTALLED_APPS={"remove": ["django.contrib.sites"]}): form = ContactForm(request=self.request(), data=self.valid_data) self.assertTrue(form.is_valid()) form.save() self.assertEqual(1, len(mail.outbox))
def test_send(self): """ Valid form can and does in fact send email. """ form = ContactForm(request=self.request(), data=self.valid_data) self.assertTrue(form.is_valid()) form.save() self.assertEqual(1, len(mail.outbox)) message = mail.outbox[0] self.assertTrue(self.valid_data["body"] in message.body) self.assertEqual(settings.DEFAULT_FROM_EMAIL, message.from_email) self.assertEqual(form.recipient_list, message.recipients())
def test_recipient_list(self): """ Passing recipient_list when instantiating ContactForm properly overrides the list of recipients. """ recipient_list = ["*****@*****.**"] form = ContactForm(request=self.request(), data=self.valid_data, recipient_list=recipient_list) self.assertTrue(form.is_valid()) form.save() self.assertEqual(1, len(mail.outbox)) message = mail.outbox[0] self.assertEqual(recipient_list, message.recipients())
def blog_home(request, template="blog/blog_index_page.html"): """ This is the blog home view. """ # Gather all blogs to display. blog_queryset = BlogPage.objects.all() print("I'm still here!") form = ContactForm() if form._post_clean() is valid: # Now do something with the submitted form content. print("THE FORM IS VALID...") else: messages.info("There was a problem in submitting the form.") return response(template, request, {'blogpages': blog_queryset})
def test_no_sites(self): """ Sites integration works with or without installed contrib.sites. """ old_installed = Site._meta.installed Site._meta.installed = False request = RequestFactory().request() data = {'name': 'Test', 'email': '*****@*****.**', 'body': 'Test message'} form = ContactForm(request=request, data=data) self.assertTrue(form.is_valid()) form.save() self.assertEqual(1, len(mail.outbox)) Site._meta.installed = old_installed
def test_send(self): """ Valid form can and does in fact send email. """ request = RequestFactory().request() data = {'name': 'Test', 'email': '*****@*****.**', 'body': 'Test message'} form = ContactForm(request=request, data=data) self.assertTrue(form.is_valid()) form.save() self.assertEqual(1, len(mail.outbox)) message = mail.outbox[0] self.assertEqual([data['email']], message.recipients()) self.assertTrue(data['body'] in message.body) self.assertEqual(settings.DEFAULT_FROM_EMAIL, message.from_email)
def test_send(self): """ Valid data through the view results in a successful send. """ contact_url = reverse("contact_form") data = { "name": "Test", "email": "*****@*****.**", "body": "Test message" } response = self.client.post(contact_url, data=data) self.assertRedirects(response, reverse("contact_form_sent")) self.assertEqual(1, len(mail.outbox)) message = mail.outbox[0] self.assertTrue(data["body"] in message.body) self.assertEqual(settings.DEFAULT_FROM_EMAIL, message.from_email) form = ContactForm(request=RequestFactory().request) self.assertEqual(form.recipient_list, message.recipients())
def contact_processor(request): return {'contact_form': ContactForm(request=request)}