Coverage for pages/views.py: 100.00%
25 statements
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-13 15:39 -0700
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-13 15:39 -0700
1from django.core.mail import BadHeaderError, send_mail
2from django.http import HttpResponse
3from django.shortcuts import redirect, render
4from django.views.generic import TemplateView
6from .forms import ContactForm
9class AboutPageView(TemplateView):
10 template_name = "about.html"
13class HomePageView(TemplateView):
14 template_name = "home.html"
17def ContactView(request):
18 if request.method == "GET": 1adcb
19 form = ContactForm()
20 else:
21 form = ContactForm(request.POST) 1dcb
22 if form.is_valid(): 1dcb
23 subject = form.cleaned_data["subject"] 1cb
24 from_email = form.cleaned_data["from_email"] 1cb
25 message = form.cleaned_data["message"] 1cb
26 try: 1cb
27 send_mail(subject, message, from_email, ["admin@example.com"]) 1cb
28 except BadHeaderError: 1b
29 return HttpResponse("Invalid header found.") 1b
30 return redirect("success") 1c
31 return render(request, "pages/contact.html", {"form": form}) 1ad
34def SuccessView(request):
35 return render(request, "pages/success.html")