From 20f43ce692e0284a4135997ae8b864572b33f7a4 Mon Sep 17 00:00:00 2001 From: erjemin Date: Sat, 10 Dec 2022 16:28:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=8C=D1=8E=D1=88=D0=BA=D0=B0:=20"=D0=9A?= =?UTF-8?q?=D0=B0=D1=82=D0=B0=D0=BB=D0=BE=D0=B3=20/=20=D0=A2=D0=B8=D0=BF?= =?UTF-8?q?=D0=BE=D0=B2=D1=8B=D0=B5=20=D1=81=D0=B5=D1=80=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D0=B9"=20--=20=D0=B3=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oknardia/oknardia/urls.py | 3 + oknardia/templates/catalog/catalog_seria.html | 94 +++++++++++++++++++ oknardia/web/catalog.py | 43 ++++++++- 3 files changed, 138 insertions(+), 2 deletions(-) create mode 100755 oknardia/templates/catalog/catalog_seria.html diff --git a/oknardia/oknardia/urls.py b/oknardia/oknardia/urls.py index 8c42c23..f432b95 100644 --- a/oknardia/oknardia/urls.py +++ b/oknardia/oknardia/urls.py @@ -52,12 +52,15 @@ urlpatterns = [ re_path(r'^stat/rating[/*]$', report2.ratings), re_path(r'^stat/rating/profiles_rank[/*]$', report2.profiles_rating), # --- Каталог + # --- --- Каталог профилей re_path(r'^catalog[/*]$', catalog.catalog_root), re_path(r'^catalog/profile[/*]$', catalog.catalog_profile), re_path(r'^catalog/profile/(?P\d+)-(?P\S*)' r'/(?P\d+)-(?P\S*)[/*]$', catalog.catalog_profile_model), re_path(r'^catalog/profile/(?P\d+)-(?P\S*)[/*]$', catalog.catalog_profile_manufacture), + # --- --- Каталог серий типового строительства + re_path(r'^catalog/seria[/*]$', catalog.catalog_seria), ] diff --git a/oknardia/templates/catalog/catalog_seria.html b/oknardia/templates/catalog/catalog_seria.html new file mode 100755 index 0000000..5ccad92 --- /dev/null +++ b/oknardia/templates/catalog/catalog_seria.html @@ -0,0 +1,94 @@ +{% extends "base.html" %} +{% load static %} + +{% block Title %}Каталог серий домов{% endblock %} + +{% block Add_Body_Attribute %} style="padding-top:70px;"{% endblock %} + +{% block Description %}Каталог типовых серий домов | Каталог «Окнардия»{% endblock %} + +{% block Keywords %}Каталог, каталог серий, серии домов, серии зданий, типовые дома, типовые здания, каталог серий домов, oknardia, окнардия {{ META_KEYWORDS|default:"" }} {% endblock %} + +{% block Date4Meta %}{% if PUB_DAT %}{{ PUB_DAT|date:"c" }}{% else %}{% now "c" %}{% endif %}{% endblock %} + +{% block Last4Meta %}{% if PUB_DAT %}{{ PUB_DAT|date:"c" }}{% else %}{% now "c" %}{% endif %}{% endblock %} + +{% block Author4Meta %}: Каталог серий домов{% endblock %} + +{% block CopyrightAuthor4Meta %}: Каталог серий домов{% endblock %} + +{% block Top_Meta1 %}{# #} + {% if IMG_FOR_BLOG %} + {% else %} + {% endif %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{# #}{% endblock %} + + +{% block Main_Content %} +
+ {# #}
+
+ +

Каталог типовых серий жилого строительства

+
+
{# #} +
+
+

Типовые проекты жилого строительства, вхождение стандартных оконных проёмов и балконных блоков в планировки типовых квартир серии, графики ввода в эксплуатацию зданий серии, география строительства, износ жилого фонда…

+
+
+
{% for i in SERIAS %} + {% endfor %} + +
+
+ + {# --- Баннер: НАЧАЛО --- #} +

{% include "ad/bannet-wide.html" %}
+ {# --- Баннер: конец --- #} +
+{% include "report/report_last_user_visit.html" %} +{% include "report/report_log_user_visit.html" %} +
+
{% endblock %} + + + + diff --git a/oknardia/web/catalog.py b/oknardia/web/catalog.py index ae49cc9..8e6a474 100644 --- a/oknardia/web/catalog.py +++ b/oknardia/web/catalog.py @@ -4,7 +4,7 @@ from django.shortcuts import render, redirect from django.http import HttpRequest, HttpResponse from django.utils import timezone from oknardia.settings import * -from oknardia.models import PVCprofiles +from oknardia.models import PVCprofiles, Seria_Info from web.report1 import get_last_all_user_visit_list, get_last_user_visit_cookies, get_last_user_visit_list from web.add_func import normalize, get_rating_set_for_stars import time @@ -284,7 +284,7 @@ def catalog_profile_model(request: HttpRequest, manufacture_id: int, manufacture return render(request, "catalog/catalog_of_profiles_model.html", to_template) -def catalog_profile_manufacture (request: HttpRequest, manufacture_id: int, manufacture_name: str) -> HttpResponse: +def catalog_profile_manufacture(request: HttpRequest, manufacture_id: int, manufacture_name: str) -> HttpResponse: """ КАТАЛОГ ПРОФИЛЕЙ: страница с описанием производителя профилей и списком марки производимых им профилей @@ -421,3 +421,42 @@ def catalog_profile_manufacture (request: HttpRequest, manufacture_id: int, manu 'ticks': float(time.time()-time_start) }) return render(request, "catalog/catalog_of_profiles_manufacture.html", to_template) + + +# Каталог типовый серий зданий (пока переадресация) +def catalog_seria(request: HttpRequest) -> HttpResponse: + """ + КАТАЛОГ ТИПОВЫЙ СЕРИЙ: страница со всеми сериями зданий в базе окнардии + + :param request: HttpRequest -- входящий http-запрос + :return response: HttpResponse -- исходящий http-ответ + """ + time_start = time.time() + try: + q_seria = Seria_Info.objects.raw('SELECT' + ' oknardia_seria_info.id,' + ' oknardia_seria_info.sURL2IMG,' + ' oknardia_seria_info.sName ' + 'FROM oknardia_seria_info ' + 'WHERE oknardia_seria_info.id = oknardia_seria_info.kRoot_id ' + 'ORDER BY oknardia_seria_info.sName;') + list_seria = [] + for i in q_seria: + list_seria.append({ + "ID": i.id, + "URL": i.sURL2IMG, + "NAME": i.sName, + "NAME_T": pytils.translit.slugify(i.sName) + }) + to_template = {'SERIAS': list_seria} + except (ObjectDoesNotExist, ): + to_template = {} + to_template.update({ + # получаем последние визиты клиента через куки + 'LAST_VISIT': get_last_user_visit_list(get_last_user_visit_cookies(request)[:3]), + # получаем последние визиты всех посетителей из базы + # id2log, log_visit = get_last_all_user_visit_list() + 'LOG_VISIT': get_last_all_user_visit_list(), + 'ticks': float(time.time() - time_start) + }) + return render(request, "catalog/catalog_seria.html", to_template) \ No newline at end of file