Coverage for pages/views.py: 100.00%
27 statements
« prev ^ index » next coverage.py v7.8.2, created at 2025-06-08 13:12 -0700
« prev ^ index » next coverage.py v7.8.2, created at 2025-06-08 13:12 -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 HomePageView(TemplateView):
10 template_name = "pages/home.html"
13class AboutPageView(TemplateView):
14 template_name = "pages/about.html"
17class ProfilePageView(TemplateView):
18 template_name = "pages/profile.html"
21def ContactView(request):
22 if request.method == "GET": 1acbd
23 form = ContactForm()
24 else:
25 form = ContactForm(request.POST) 1cbd
26 if form.is_valid(): 1cbd
27 subject = form.cleaned_data["subject"] 1cb
28 from_email = form.cleaned_data["from_email"] 1cb
29 message = form.cleaned_data["message"] 1cb
30 try: 1cb
31 send_mail(subject, message, from_email, ["admin@example.com"]) 1cb
32 except BadHeaderError: 1b
33 return HttpResponse("Invalid header found.") 1b
34 return redirect("success") 1c
35 return render(request, "pages/contact.html", {"form": form}) 1ad
38def SuccessView(request):
39 return render(request, "pages/success.html")