Files
blog24/home/views.py
2024-07-20 11:36:35 +02:00

51 lines
1.2 KiB
Python

from django.views.generic import TemplateView, FormView
from django.http import HttpResponse
from ipware import get_client_ip
from urllib import parse
from .forms import ContactForm
from .models import Hit
class IndexView(TemplateView):
template_name = 'home/index.html'
class CVView(TemplateView):
template_name = 'home/cv.html'
class ServiceView(TemplateView):
template_name = "home/service.html"
class ContactView(FormView):
template_name = 'home/contact.html'
form_class = ContactForm
class ContactValidView(TemplateView):
template_name = "home/contact_success.html"
def hit(request):
if request.method == "POST":
ip_address, _ = get_client_ip(request)
ip_address = '.'.join(ip_address.split('.')[:-1]+["0"])
path_parser = parse.urlsplit(request.headers["referer"])
path = path_parser.path
parameters = dict(parse.parse_qsl(path_parser.query))
user_agent = request.headers["user-agent"]
session_id = request.session.session_key
Hit.objects.create(
path=path_parser.path,
parameters=parameters,
session_id=session_id,
ip_address=ip_address,
user_agent=user_agent,
)
return HttpResponse("")