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