главный экран и автокомплит при наборе адреса на главной

This commit is contained in:
2022-11-05 19:16:15 +03:00
parent 7b0fc32d69
commit bf5de5b25e
7 changed files with 490 additions and 15 deletions

View File

@@ -1,3 +1,44 @@
# -*- coding: utf-8 -*-
from django.shortcuts import render
from django.http import HttpRequest, HttpResponse
import json
import datetime
# Create your views here.
# from django.core.context_processors import csrf
def main_init(request: HttpRequest) -> HttpResponse:
""" Главная страница (статичная, только с проверками куков)
:param request: входящий http-запрос
:return response: исходящий http-ответ
"""
to_template = {} # словарь, для передачи шаблону
num_viz = 0 # как будто первый визит
template = "index.html" # шаблон
# проверяем куки числа визита
if "NumVisit" in request.COOKIES:
# стоят куки, и это не первый визит
num_viz = request.COOKIES["NumVisit"] # читаем число визитов
num_viz = int(num_viz) + 1 # увеличиваем порядковый номер визитов
# ПРОВЕРЯЧЕМ КУКИ ПРОСМОТРЕ ЦЕНОВЫХ ПРЕДЛОЖЕНИЙ
if "LastVisit" in request.COOKIES:
# стоят куки
last_visit = json.loads(request.COOKIES["LastVisit"])
last_visit2 = []
for i in last_visit:
last_visit2.append({
"Time": datetime.datetime.fromtimestamp(i["Time"]),
"LastURL": i["LastURL"],
"LastAddress": i["LastAddress"],
"LastApart": i["LastApart"]
})
to_template.update({'LAST_VISIT': last_visit2[:3]})
else:
to_template.update({'LAST_VISIT': None})
to_template.update({'META_DOCUMENT_STATE': u"Static"}) # Эта страничка статичная (в шаблон)
to_template.update({'NV': num_viz})
# to_template.update(csrf(request)) # токен, для метода POST и GET
response = render(request, template, to_template)
response.set_cookie("NumVisit", num_viz, max_age=604800) # ставим или перезаписываем куки (неделя)
return response