Вьюшка: "Каталог / Типовые серии зданий" -- готово
This commit is contained in:
@@ -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<manufacture_id>\d+)-(?P<manufacture_name>\S*)'
|
||||
r'/(?P<model_id>\d+)-(?P<model_name>\S*)[/*]$', catalog.catalog_profile_model),
|
||||
re_path(r'^catalog/profile/(?P<manufacture_id>\d+)-(?P<manufacture_name>\S*)[/*]$',
|
||||
catalog.catalog_profile_manufacture),
|
||||
# --- --- Каталог серий типового строительства
|
||||
re_path(r'^catalog/seria[/*]$', catalog.catalog_seria),
|
||||
|
||||
]
|
||||
|
||||
|
||||
94
oknardia/templates/catalog/catalog_seria.html
Executable file
94
oknardia/templates/catalog/catalog_seria.html
Executable file
@@ -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 %}{# <!-- BEGIN Дополнительные Metatags --> #}
|
||||
<meta itemprop="author" content="Каталог «Окнардия»" />{% if IMG_FOR_BLOG %}
|
||||
<meta itemprop="image" content="https://oknardia.ru/media/{{ IMG_FOR_BLOG }}" />{% else %}
|
||||
<meta itemprop="image" content="https://oknardia.ru/static/img/MerDY3gpU0w.jpg" />{% endif %}
|
||||
<meta itemprop="datePublished" content="{{ PUB_DAT|date:"c" }}" />
|
||||
<span itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Каталог «Окнардия»" /></span>
|
||||
<span itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="name" content="Каталог «Окнардия»" /></span>
|
||||
<meta itemprop="articleSection" content="Каталог «Окнардия»" />
|
||||
<meta itemprop="headline" content="Каталог типовых серий домов | oknardia.ru" />
|
||||
<meta name="news_keywords" content="{{ HEADER|striptags }}" />
|
||||
<link rel="canonical" href="https://oknardia.ru//catalog/seria/" />
|
||||
<link rel="standout" href="https://oknardia.ru//catalog/seria/" />
|
||||
<!-- Разметка для соц-сетей Facebook Open Graph -->
|
||||
<meta property="fb:admins" name="admins" content="100000084781830" />
|
||||
<meta property="fb:pages" content="276108456054163" />
|
||||
<meta property="fb:app_id" content="258354027974262" />
|
||||
<meta property="fb:profile_id" name="profile_id" content="https://www.facebook.com/oknardia/" />
|
||||
<meta property="og:locale" content="ru_RU" />
|
||||
<meta property="og:site_name" content="oknardia.ru" />
|
||||
<meta property="og:url" content="https://oknardia.ru//catalog/seria/" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content="Каталог «Окнардия» | oknardia.ru" />
|
||||
<meta property="og:description" content="Типовые проекты жилого строительства, вхождение стандартных оконных проёмов и балконных блоков в планировки типовых квартир серии, графики ввода в эксплуатацию зданий серии, география строительства, износ жилого фонда..." />
|
||||
<meta property="og:image" content="{% if IMG_FOR_BLOG %}https://oknardia.ru/media/{% endif %}{{ IMG_FOR_BLOG|default:'https://oknardia.ru/static/img/MerDY3gpU0w.jpg' }}" />
|
||||
<link rel="image_src" href="{% if IMG_FOR_BLOG %}https://oknardia.ru/media/{% endif %}{{ IMG_FOR_BLOG|default:'https://oknardia.ru/static/img/MerDY3gpU0w.jpg' }}" />
|
||||
<!-- Разметка для соц-сетей Twitter Card -->
|
||||
<meta name="twitter:title" content="Каталог типовых серий домов | oknardia.ru" />
|
||||
<meta name="twitter:description" content="Типовые проекты жилого строительства, вхождение стандартных оконных проёмов и балконных блоков в планировки типовых квартир серии, графики ввода в эксплуатацию зданий серии, география строительства, износ жилого фонда..." />
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:site" content="@oknardia" />
|
||||
<meta name="twitter:domain" content="oknardia.ru" />
|
||||
<meta property="twitter:url" content="{% if IMG_FOR_BLOG %}https://oknardia.ru/media/{% endif %}{{ IMG_FOR_BLOG|default:'https://oknardia.ru/static/img/MerDY3gpU0w.jpg' }}" />
|
||||
<meta name="relap-image" content="{% if IMG_FOR_BLOG %}https://oknardia.ru/media/{% endif %}{{ IMG_FOR_BLOG|default:'https://oknardia.ru/static/img/MerDY3gpU0w.jpg' }}">
|
||||
{# <!-- END Дополнительные Metatags --> #}{% endblock %}
|
||||
|
||||
|
||||
{% block Main_Content %}
|
||||
<div class="container-fluid">
|
||||
{# <!--- Хлебные крошки: НАЧАЛО --> #}<div class="row">
|
||||
<div class="col-md-11 col-xs-12">
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="/">Главная</a></li>
|
||||
<li><a href="/catalog">Каталог</a></li>
|
||||
<li>Типовые серии зданий</li>
|
||||
</ol>
|
||||
<h1>Каталог типовых серий жилого строительства</h1>
|
||||
</div>
|
||||
</div>{# <!--- Хлебные крошки: КОНЕЦ ---> #}
|
||||
<dIv class="row">
|
||||
<div class="col-md-11 col-xs-12">
|
||||
<p>Типовые проекты жилого строительства, вхождение стандартных оконных проёмов и балконных блоков в планировки типовых квартир серии, графики ввода в эксплуатацию зданий серии, география строительства, износ жилого фонда…</p>
|
||||
</div>
|
||||
</dIv>
|
||||
<div class="row">{% for i in SERIAS %}
|
||||
<div class="col--lg-2 col-md-3 col-sm-4 col-xs-6"><a href="/catalog/seria/{{ i.NAME_T }}/all{{ i.ID }}">
|
||||
<div class="catalog-seria-img" style="background-image:url(/media/{{ i.URL }});">
|
||||
<h4><span>Серия {{ i.NAME }}</span></h4>
|
||||
</div></a>
|
||||
</div>{% endfor %}
|
||||
|
||||
<DIV class="col-xs-12" style="height:6em;"></DIV>
|
||||
</dIv>
|
||||
|
||||
{# --- Баннер: НАЧАЛО --- #}
|
||||
<div class="row"><div class="col-md-12 col-xs-12"><hr class="dotted-black" />{% include "ad/bannet-wide.html" %}</div></div>
|
||||
{# --- Баннер: конец --- #}
|
||||
<div class="row">
|
||||
{% include "report/report_last_user_visit.html" %}
|
||||
{% include "report/report_log_user_visit.html" %}
|
||||
</div>
|
||||
</div>{% endblock %}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user