'str' object has no attribute 'quick_link'
Request Method: | GET |
---|---|
Request URL: | http://ekb.dvermarket.com/catalog/brand/98/ |
Django Version: | 1.4.2 |
Exception Type: | AttributeError |
Exception Value: | 'str' object has no attribute 'quick_link' |
Exception Location: | /srv/www/dmarket/dmarket/knowledge_base/templatetags/articles_extra.py in get_article_links_in_quick_link, line 37 |
Python Executable: | /srv/www/dmarket/env/bin/python2 |
Python Version: | 2.7.17 |
Python Path: | ['/srv/www/dmarket/dmarket', '/srv/www/dmarket/', '/srv/www/dmarket/dmarket', '/srv/www/dmarket/env/bin', '/srv/www/dmarket/env/lib/python2.7', '/srv/www/dmarket/env/lib/python2.7/plat-x86_64-linux-gnu', '/srv/www/dmarket/env/lib/python2.7/lib-tk', '/srv/www/dmarket/env/lib/python2.7/lib-old', '/srv/www/dmarket/env/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/srv/www/dmarket/env/local/lib/python2.7/site-packages', '/srv/www/dmarket/env/lib/python2.7/site-packages'] |
Server time: | Fri, 29 Mar 2024 13:58:48 +0500 |
In template /srv/www/dmarket/dmarket/templates/catalog/doors.html
, error at line 54
44 | {% endblock %} |
---|---|
45 | |
46 | {% block underheader %} |
47 | {% catalog_menu door_type_id %} |
48 | {% endblock %} |
49 | |
50 | {% block content %} |
51 | {% load banner_extras %} |
52 | <div>{% main_banner %}</div> |
53 | <div> |
54 | {% get_article_links_in_quick_link link %} |
55 | </div> |
56 | {% if link %}<div>{{ link.description_up|safe }}</div>{% endif %} |
57 | {# {% if active %}#} |
58 | {# {% catalog_filter door_type_id active %}#} |
59 | {# {% else %}#} |
60 | {# {% catalog_filter door_type_id %}#} |
61 | {# {% endif %}#} |
62 | |
63 | {% if not brand %} |
64 | {% if door_type.top_description %} |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/core/handlers/base.py
in get_response
for middleware_method in self._view_middleware:
response = middleware_method(request, callback, callback_args, callback_kwargs)
if response:
break
if response is None:
try:
response = callback(request, *callback_args, **callback_kwargs)...
except Exception, e:
# If the view raised an exception, run it through exception
# middleware, and if the exception middleware returns a
# response, use that. Otherwise, reraise the exception.
for middleware_method in self._exception_middleware:
response = middleware_method(request, e)
Variable | Value |
---|---|
exceptions | <module 'django.core.exceptions' from '/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/core/exceptions.pyc'> |
e | AttributeError("'str' object has no attribute 'quick_link'",) |
callback_args | () |
settings | <django.conf.LazySettings object at 0x7ff391dcc810> |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7ff38c3523d0>> |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7ff391da1850> |
request | "<WSGIRequest\npath:/catalog/brand/98/,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_CONNECTION': 'close',\n 'HTTP_HOST': 'ekb.dvermarket.com',\n 'HTTP_USER_AGENT': 'claudebot',\n 'HTTP_X_FORWARDED_FOR': '3.236.226.100',\n 'PATH_INFO': u'/catalog/brand/98/',\n 'QUERY_STRING': '',\n 'RAW_URI': '/catalog/brand/98/',\n 'REMOTE_ADDR': '',\n 'REQUEST_METHOD': 'GET',\n 'SCRIPT_NAME': u'',\n 'SERVER_NAME': 'ekb.dvermarket.com',\n 'SERVER_PORT': '80',\n 'SERVER_PROTOCOL': 'HTTP/1.0',\n 'SERVER_SOFTWARE': 'gunicorn/19.10.0',\n 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>,\n 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>,\n 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>,\n 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>,\n 'wsgi.input_terminated': True,\n 'wsgi.multiprocess': True,\n 'wsgi.multithread': False,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'http',\n 'wsgi.version': (1, 0)}>" |
callback | <function get_doors_for_brand at 0x7ff38c066050> |
resolver | <RegexURLResolver urls (None:None) ^/> |
urlresolvers | <module 'django.core.urlresolvers' from '/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/core/urlresolvers.pyc'> |
callback_kwargs | {'brand_id': u'98'} |
response | None |
urlconf | 'urls' |
/srv/www/dmarket/dmarket/catalog/views.py
in get_doors_for_brand
if seo:
seo = seo[0]
brand.top_description = seo.top_description
brand.description = seo.description
else:
seo = BrandMetadata._meta.get_model('modelinstance').objects.get(_object_id=brand.id)
return render_to_response(template, {'doors': doors, 'brand': brand, 'door_type_id': 0, 'b_seo': seo}, RequestContext(request))...
def import_catalog_view(request):
from catalog import tasks
tasks.import_catalog.delay()
return HttpResponseRedirect(request.META['HTTP_REFERER'])
Variable | Value |
---|---|
city | <SiteRegions: Екатеринбург> |
ql_slug | '/catalog/brand/98/' |
doors | [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >] |
brand | <BrandName: Сударь > |
request | "<WSGIRequest\npath:/catalog/brand/98/,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_CONNECTION': 'close',\n 'HTTP_HOST': 'ekb.dvermarket.com',\n 'HTTP_USER_AGENT': 'claudebot',\n 'HTTP_X_FORWARDED_FOR': '3.236.226.100',\n 'PATH_INFO': u'/catalog/brand/98/',\n 'QUERY_STRING': '',\n 'RAW_URI': '/catalog/brand/98/',\n 'REMOTE_ADDR': '',\n 'REQUEST_METHOD': 'GET',\n 'SCRIPT_NAME': u'',\n 'SERVER_NAME': 'ekb.dvermarket.com',\n 'SERVER_PORT': '80',\n 'SERVER_PROTOCOL': 'HTTP/1.0',\n 'SERVER_SOFTWARE': 'gunicorn/19.10.0',\n 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>,\n 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>,\n 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>,\n 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>,\n 'wsgi.input_terminated': True,\n 'wsgi.multiprocess': True,\n 'wsgi.multithread': False,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'http',\n 'wsgi.version': (1, 0)}>" |
brand_id | u'98' |
city_name | None |
template | 'catalog/doors.html' |
seo | <BrandMetadataModelInstance: /catalog/brand/98/> |
ql | [] |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/shortcuts/__init__.py
in render_to_response
def render_to_response(*args, **kwargs):
"""
Returns a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
"""
httpresponse_kwargs = {'mimetype': kwargs.pop('mimetype', None)}
return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)...
def render(request, *args, **kwargs):
"""
Returns a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
Uses a RequestContext by default.
Variable | Value |
---|---|
httpresponse_kwargs | {'mimetype': None} |
args | ('catalog/doors.html', {'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>, 'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >]}, [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}]) |
kwargs | {} |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/loader.py
in render_to_string
t = get_template(template_name)
if not context_instance:
return t.render(Context(dictionary))
# Add the dictionary to the context stack, ensuring it gets removed again
# to keep the context_instance in the same state it started in.
context_instance.update(dictionary)
try:
return t.render(context_instance)...
finally:
context_instance.pop()
def select_template(template_name_list):
"Given a list of template names, returns the first that can be loaded."
if not template_name_list:
Variable | Value |
---|---|
template_name | 'catalog/doors.html' |
t | <django.template.base.Template object at 0x7ff38a98d390> |
dictionary | {'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>, 'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >]} |
context_instance | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/base.py
in render
def _render(self, context):
return self.nodelist.render(context)
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
return self._render(context)...
finally:
context.render_context.pop()
def compile_string(template_string, origin):
"Compiles template_string into NodeList ready for rendering"
if settings.TEMPLATE_DEBUG:
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7ff38a98d390> |
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
return self._render(context)
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7ff38a98d390> |
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = self.render_node(node, context)...
else:
bit = node
bits.append(force_unicode(bit))
return mark_safe(u''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <ExtendsNode: extends 'base.html'> |
self | [<ExtendsNode: extends 'base.html'>] |
bits | [] |
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
def compile_function_error(self, token, e):
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception, e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <ExtendsNode: extends 'base.html'> |
self | [<ExtendsNode: extends 'base.html'>] |
e | AttributeError("'str' object has no attribute 'quick_link'",) |
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/loader_tags.py
in render
blocks = dict([(n.name, n) for n in
compiled_parent.nodelist.get_nodes_by_type(BlockNode)])
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
return compiled_parent._render(context)...
class BaseIncludeNode(Node):
def __init__(self, *args, **kwargs):
self.extra_context = kwargs.pop('extra_context', {})
self.isolated_context = kwargs.pop('isolated_context', False)
super(BaseIncludeNode, self).__init__(*args, **kwargs)
Variable | Value |
---|---|
node | <django.template.defaulttags.LoadNode object at 0x7ff389f644d0> |
blocks | {u'canonical': <Block Node: canonical. Contents: [<Text Node: ' '>]>, u'content': <Block Node: content. Contents: []>, u'ecommerce': <Block Node: ecommerce. Contents: []>, u'page-headers': <Block Node: page-headers. Contents: [<Text Node: ' '>]>, u'title': <Block Node: title. Contents: [<Text Node: '<title>'>, <Variable Node: config.DEFAULT_TITLE>, <Text Node: '</title>'>]>, u'xmodal': <Block Node: xmodal. Contents: []>} |
block_context | <django.template.loader_tags.BlockContext object at 0x7ff38a98d450> |
n | <Block Node: ecommerce. Contents: []> |
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
compiled_parent | <django.template.base.Template object at 0x7ff389c6cad0> |
self | <ExtendsNode: extends 'base.html'> |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/base.py
in _render
def __iter__(self):
for node in self.nodelist:
for subnode in node:
yield subnode
def _render(self, context):
return self.nodelist.render(context)...
def render(self, context):
"Display stage -- can be called many times"
context.render_context.push()
try:
return self._render(context)
Variable | Value |
---|---|
self | <django.template.base.Template object at 0x7ff389c6cad0> |
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = self.render_node(node, context)...
else:
bit = node
bits.append(force_unicode(bit))
return mark_safe(u''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <Block Node: content. Contents: []> |
bit | u'\n\n <!--div><a href="#" title="\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u044c</a> (5)</div-->\n </div>\n ' |
bits | [u'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\n<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="ru">\n<head>\n ', u'', u'\n\n ', u'', u'\n <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\n\n ', u'\n\n\n \n \n <title></title>\n <meta name="description" content="">\n <meta name="keywords" content="">\n\n \n \n\n', u'\n ', u'\n \n', u'\n <link rel="stylesheet" type="text/css" href="', u'/media/', u'fancybox/jquery.fancybox-1.3.4.css" media="screen" />\n <link rel="stylesheet" type="text/css" href="', u'/media/', u'styles/bootstrap.css?2" media="screen" />\n <link rel="stylesheet" type="text/css" href="', u'/media/', u'styles/bootstrap-responsive.css" media="screen" />\n <link rel="stylesheet" type="text/css" href="', u'/media/', u'styles/simplestyle.css?297" media="screen" />\n <link rel="stylesheet" type="text/css" href="', u'/media/', u'photoswipe/photoswipe.css" media="screen" />\n\n <link rel="icon" type="image/x-icon" href="/favicon.ico" />\n <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />\n <script src="', u'/media/', u'jsimple/jquery.min.js" type="text/javascript"></script>\n <script src="', u'/media/', u'jsimple/base64.js" type="text/javascript"></script>\n <script src="', u'/media/', u'jsimple/bootstrap-modal.js" type="text/javascript"></script>\n <script src="', u'/media/', u'jsimple/Hyphenate.js" type="text/javascript"></script>\n <script type="text/javascript">\n $(document).ready(function(){\n $.ajax({\n url:"/geo/city_frame/",\n cache: false\n }).done(function( html ) {\n $(\'#modal-cities\').append(html);\n var site_regions = site_regions_widget();\n });\n });\n </script>\n <script src="', u'/media/', u'jsimple/simplejs.js?13" type="text/javascript"></script>\n <script src="', u'/media/', u'fancybox/jquery.mousewheel-3.0.4.pack.js" type="text/javascript"></script>\n <script src="', u'/media/', u'fancybox/jquery.fancybox-1.3.4.pack.js" type="text/javascript"></script>\n <script src="', u'/media/', u'photoswipe/photoswipe-full.min.js" type="text/javascript"></script>\n <script src="https://www.google.com/recaptcha/api.js" async defer></script>\n ', u'\n ', u'\n <script type="text/javascript">\n\n $(document).ready(function(){\n window.setTimeout(function()\n {\n $( "#confirm-city" ).fadeIn(400);\n },900);\n });\n </script>\n ', u'\n ', u'', u'\n</head>\n\n<body>\n<div id="loader-fullscreen">\n <div class="inner"></div>\n</div>\n\n', u'\n', u'', u'\n', u'\n<div class="b-t modal hide fade" id="modal-cities" aria-hidden="true" ', u'attr="ekb" ', u'></div>\n<div id="wrap00"><div id="wrap01">\n\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n\n <div id="header">\n ', u'\n <div class="your-city quick">\u0412\u0430\u0448 \u0433\u043e\u0440\u043e\u0434: <a data-toggle=\'modal\' href="#modal-cities" title="', u'\u0415\u043a\u0430\u0442\u0435\u0440\u0438\u043d\u0431\u0443\u0440\u0433', u'" class="selected-city"><span class="with-border">', u'\u0415\u043a\u0430\u0442\u0435\u0440\u0438\u043d\u0431\u0443\u0440\u0433', u'</span><span>\u25bc</span></a></div>\n <div id="confirm-city">\n <div class="cc-arrow"></div>\n <div class="cc-body">\n <div class="cc-text">\u0412\u044b\u0431\u0440\u0430\u043d \u0432\u0430\u0448 \u0433\u043e\u0440\u043e\u0434?</div>\n <a class="cc-butt" href="/close_popup/">\u0414\u0430</a>\n <a data-toggle=\'modal\' href="#modal-cities" class="cc-butt right">\u041d\u0435\u0442</a>\n <div style="clear: both"></div>\n </div>\n </div>\n <div class="contacts fl">\n <span class="code fl db">', u'', u'</span>\n <span class="phone fl db">', u'', u'</span>\n <div class="clb"></div>\n <p>', u'<a href="mailto:lead@dvermarket.com ">lead@dvermarket.com</a>', u'</p>\n </div>\n <a href="', u'/cart/', u'">\n <div id="basket" class="fr', u'', u'">\n <ul>\n <li><!--a href="#" title="\u0412\u0445\u043e\u0434" class="ajax">\u0412\u0445\u043e\u0434</a--></li>\n <li><!--a href="#" title="\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f">\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f</a--></li>\n </ul>\n <div class="status">', u'\u043a\u043e\u0440\u0437\u0438\u043d\u0430 <br/>\u043f\u0443\u0441\u0442\u0430', u'</div>\n </div>\n </a>\n\n <div class="center">\n <a href="/" title="\u0414\u0432\u0435\u0440\u043c\u0430\u0440\u043a\u0435\u0442 - \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043c\u0430\u0433\u0430\u0437\u0438\u043d \u0434\u0432\u0435\u0440\u0435\u0439" class="db"><img src="', u'/media/', u'images/logo.png" title="\u0414\u0432\u0435\u0440\u043c\u0430\u0440\u043a\u0435\u0442 - \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043c\u0430\u0433\u0430\u0437\u0438\u043d \u0434\u0432\u0435\u0440\u0435\u0439" alt="\u0414\u0432\u0435\u0440\u043c\u0430\u0440\u043a\u0435\u0442 - \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043c\u0430\u0433\u0430\u0437\u0438\u043d \u0434\u0432\u0435\u0440\u0435\u0439" /></a><br/>\n ', u'\n <ul>\n \n \n <li><a href="/dostavka/" title="\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u0434\u0432\u0435\u0440\u0435\u0439 \u0432 \u0415\u043a\u0430\u0442\u0435\u0440\u0438\u043d\u0431\u0443\u0440\u0433\u0435">\n \t\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u0438 \u043e\u043f\u043b\u0430\u0442\u0430 \n </a></li>\n \n \n \n <li><a href="/garantiya/" title="\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0434\u0432\u0435\u0440\u0435\u0439">\n \t\u0413\u0430\u0440\u0430\u043d\u0442\u0438\u044f \n </a></li>\n \n \n \n <li><a href="/optom/" title="\u0414\u0432\u0435\u0440\u0438 \u043e\u043f\u0442\u043e\u043c">\n \t\u0414\u0432\u0435\u0440\u0438 \u043e\u043f\u0442\u043e\u043c\n </a></li>\n \n \n \n <li><a href="/kontakty/" title="\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u044b">\n \t\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u044b\n </a></li>\n \n \n</ul>\n\n ', u'\n\n </div>\n </div>\n\n <div id="under-header">\n ', u'<ul>\n\n <li><a href="/vhodnye-dveri/">\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u0434\u0432\u0435\u0440\u0435\u0439</a></li>\n\n <li><a href="/stock/">\u0410\u043a\u0446\u0438\u0438 </a></li>\n\n <li><a href="/zamer/">\u0412\u044b\u0437\u0432\u0430\u0442\u044c \u0437\u0430\u043c\u0435\u0440\u0449\u0438\u043a\u0430</a></li>\n\n <li><a href="/montazh_dveri/">\u0421\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u043c\u043e\u043d\u0442\u0430\u0436\u0430</a></li>\n\n <li><a href="/otzivy/">\u041e\u0442\u0437\u044b\u0432\u044b</a></li>\n\n</ul>', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n ', u'\n\n <!--div><a href="#" title="\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e">\u0421\u0440\u0430\u0432\u043d\u0438\u0442\u044c</a> (5)</div-->\n </div>\n '] |
self | [<Text Node: '<!DOCTYPE html PUBLIC "-/'>, <django.template.defaulttags.LoadNode object at 0x7ff389f644d0>, <Text Node: ' '>, <Block Node: title. Contents: [<Text Node: '<title>'>, <Variable Node: config.DEFAULT_TITLE>, <Text Node: '</title>'>]>, <Text Node: ' <meta http-equiv="Co'>, <Block Node: page-headers. Contents: [<Text Node: ' '>]>, <Text Node: ' '>, <Block Node: canonical. Contents: [<Text Node: ' '>]>, <Text Node: ' <link rel="styleshee'>, <Variable Node: MEDIA_URL>, <Text Node: 'fancybox/jquery.fancybox-'>, <Variable Node: MEDIA_URL>, <Text Node: 'styles/bootstrap.css?2" m'>, <Variable Node: MEDIA_URL>, <Text Node: 'styles/bootstrap-responsi'>, <Variable Node: MEDIA_URL>, <Text Node: 'styles/simplestyle.css?29'>, <Variable Node: MEDIA_URL>, <Text Node: 'photoswipe/photoswipe.css'>, <Variable Node: MEDIA_URL>, <Text Node: 'jsimple/jquery.min.js" ty'>, <Variable Node: MEDIA_URL>, <Text Node: 'jsimple/base64.js" type="'>, <Variable Node: MEDIA_URL>, <Text Node: 'jsimple/bootstrap-modal.j'>, <Variable Node: MEDIA_URL>, <Text Node: 'jsimple/Hyphenate.js" typ'>, <Variable Node: MEDIA_URL>, <Text Node: 'jsimple/simplejs.js?13" t'>, <Variable Node: MEDIA_URL>, <Text Node: 'fancybox/jquery.mousewhee'>, <Variable Node: MEDIA_URL>, <Text Node: 'fancybox/jquery.fancybox-'>, <Variable Node: MEDIA_URL>, <Text Node: 'photoswipe/photoswipe-ful'>, <Text Node: ' '>, <IfNode>, <Text Node: ' '>, <django.template.defaulttags.AutoEscapeControlNode object at 0x7ff38a07c550>, <Text Node: ' </head> <body> <div id='>, <Text Node: ' '>, <Block Node: xmodal. Contents: []>, <Text Node: ' '>, <Text Node: ' <div class="b-t modal hi'>, <IfNode>, <Text Node: '></div> <div id="wrap00">'>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' <div id="header"> '>, <Text Node: ' <div class="your'>, <Variable Node: request.session.city>, <Text Node: '" class="selected-city"><'>, <IfNode>, <Text Node: '</span><span>?</span></a>'>, <placeholder.templatetags.placeholder.PlaceholderNode object at 0x7ff38a98cc90>, <Text Node: '</span> <span'>, <placeholder.templatetags.placeholder.PlaceholderNode object at 0x7ff38a98c9d0>, <Text Node: '</span> <div '>, <django.template.defaulttags.AutoEscapeControlNode object at 0x7ff38a98c910>, <Text Node: '</p> </div> '>, <django.template.defaulttags.URLNode object at 0x7ff38a98cb90>, <Text Node: '"> <div id="b'>, <django.template.base.InclusionNode object at 0x7ff38a98c3d0>, <Text Node: '"> <ul> '>, <django.template.base.InclusionNode object at 0x7ff38a98c5d0>, <Text Node: '</div> </div>'>, <Variable Node: MEDIA_URL>, <Text Node: 'images/logo.png" title="?'>, <IfNode>, <Text Node: ' </div> </di'>, <django.template.base.InclusionNode object at 0x7ff38ac3a890>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' <!--div><a href'>, <Block Node: content. Contents: []>, <Text Node: ' <div class="clb h40'>, <django.template.defaulttags.NowNode object at 0x7ff38ac63f10>, <Text Node: ' '>, <Variable Node: config.COPYRIGHT>, <Text Node: '</div> <div class="fr'>, <Variable Node: MEDIA_URL>, <Text Node: 'images/simple.jpg" title='>, <placeholder.templatetags.placeholder.PlaceholderNode object at 0x7ff38ac63c50>, <Text Node: ' </div> </div></div>'>, <IfNode>, <Text Node: ' <script type="text/java'>, <Block Node: ecommerce. Contents: []>, <Text Node: ' <!-- Yandex.Metrika cou'>, <django.template.defaulttags.AutoEscapeControlNode object at 0x7ff389f64950>, <Text Node: ' <!-- /Yandex.Metrika cou'>, <django.template.defaulttags.AutoEscapeControlNode object at 0x7ff389f64b10>, <Text Node: ' </body> </html> '>] |
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
def compile_function_error(self, token, e):
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception, e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <Block Node: content. Contents: []> |
self | [<Text Node: '<!DOCTYPE html PUBLIC "-/'>, <django.template.defaulttags.LoadNode object at 0x7ff389f644d0>, <Text Node: ' '>, <Block Node: title. Contents: [<Text Node: '<title>'>, <Variable Node: config.DEFAULT_TITLE>, <Text Node: '</title>'>]>, <Text Node: ' <meta http-equiv="Co'>, <Block Node: page-headers. Contents: [<Text Node: ' '>]>, <Text Node: ' '>, <Block Node: canonical. Contents: [<Text Node: ' '>]>, <Text Node: ' <link rel="styleshee'>, <Variable Node: MEDIA_URL>, <Text Node: 'fancybox/jquery.fancybox-'>, <Variable Node: MEDIA_URL>, <Text Node: 'styles/bootstrap.css?2" m'>, <Variable Node: MEDIA_URL>, <Text Node: 'styles/bootstrap-responsi'>, <Variable Node: MEDIA_URL>, <Text Node: 'styles/simplestyle.css?29'>, <Variable Node: MEDIA_URL>, <Text Node: 'photoswipe/photoswipe.css'>, <Variable Node: MEDIA_URL>, <Text Node: 'jsimple/jquery.min.js" ty'>, <Variable Node: MEDIA_URL>, <Text Node: 'jsimple/base64.js" type="'>, <Variable Node: MEDIA_URL>, <Text Node: 'jsimple/bootstrap-modal.j'>, <Variable Node: MEDIA_URL>, <Text Node: 'jsimple/Hyphenate.js" typ'>, <Variable Node: MEDIA_URL>, <Text Node: 'jsimple/simplejs.js?13" t'>, <Variable Node: MEDIA_URL>, <Text Node: 'fancybox/jquery.mousewhee'>, <Variable Node: MEDIA_URL>, <Text Node: 'fancybox/jquery.fancybox-'>, <Variable Node: MEDIA_URL>, <Text Node: 'photoswipe/photoswipe-ful'>, <Text Node: ' '>, <IfNode>, <Text Node: ' '>, <django.template.defaulttags.AutoEscapeControlNode object at 0x7ff38a07c550>, <Text Node: ' </head> <body> <div id='>, <Text Node: ' '>, <Block Node: xmodal. Contents: []>, <Text Node: ' '>, <Text Node: ' <div class="b-t modal hi'>, <IfNode>, <Text Node: '></div> <div id="wrap00">'>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' <div id="header"> '>, <Text Node: ' <div class="your'>, <Variable Node: request.session.city>, <Text Node: '" class="selected-city"><'>, <IfNode>, <Text Node: '</span><span>?</span></a>'>, <placeholder.templatetags.placeholder.PlaceholderNode object at 0x7ff38a98cc90>, <Text Node: '</span> <span'>, <placeholder.templatetags.placeholder.PlaceholderNode object at 0x7ff38a98c9d0>, <Text Node: '</span> <div '>, <django.template.defaulttags.AutoEscapeControlNode object at 0x7ff38a98c910>, <Text Node: '</p> </div> '>, <django.template.defaulttags.URLNode object at 0x7ff38a98cb90>, <Text Node: '"> <div id="b'>, <django.template.base.InclusionNode object at 0x7ff38a98c3d0>, <Text Node: '"> <ul> '>, <django.template.base.InclusionNode object at 0x7ff38a98c5d0>, <Text Node: '</div> </div>'>, <Variable Node: MEDIA_URL>, <Text Node: 'images/logo.png" title="?'>, <IfNode>, <Text Node: ' </div> </di'>, <django.template.base.InclusionNode object at 0x7ff38ac3a890>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' <!--div><a href'>, <Block Node: content. Contents: []>, <Text Node: ' <div class="clb h40'>, <django.template.defaulttags.NowNode object at 0x7ff38ac63f10>, <Text Node: ' '>, <Variable Node: config.COPYRIGHT>, <Text Node: '</div> <div class="fr'>, <Variable Node: MEDIA_URL>, <Text Node: 'images/simple.jpg" title='>, <placeholder.templatetags.placeholder.PlaceholderNode object at 0x7ff38ac63c50>, <Text Node: ' </div> </div></div>'>, <IfNode>, <Text Node: ' <script type="text/java'>, <Block Node: ecommerce. Contents: []>, <Text Node: ' <!-- Yandex.Metrika cou'>, <django.template.defaulttags.AutoEscapeControlNode object at 0x7ff389f64950>, <Text Node: ' <!-- /Yandex.Metrika cou'>, <django.template.defaulttags.AutoEscapeControlNode object at 0x7ff389f64b10>, <Text Node: ' </body> </html> '>] |
e | AttributeError("'str' object has no attribute 'quick_link'",) |
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/loader_tags.py
in render
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = BlockNode(block.name, block.nodelist)
block.context = context
context['block'] = block
result = block.nodelist.render(context)...
if push is not None:
block_context.push(self.name, push)
context.pop()
return result
def super(self):
Variable | Value |
---|---|
push | <Block Node: content. Contents: [<Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7ff38aa682d0>, <Text Node: ' <div>'>, <django.template.base.InclusionNode object at 0x7ff389c6ccd0>, <Text Node: '</div> <div> '>, <django.template.base.InclusionNode object at 0x7ff389c6cd10>, <Text Node: ' </div> '>, <IfNode>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <IfNode>, <Text Node: ' <div style="clear: b'>, <IfNode>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' <div style="disp'>, <Variable Node: how_many>, <Text Node: '</div> '>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38bf27e10>, <Text Node: ' <div class="dl-p'>, <Variable Node: doors.0.door_type.id>, <Text Node: '"> '>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38a9b89d0>, <Text Node: ' </div> <'>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38abae390>, <Text Node: ' '>, <Text Node: ' <div style="clear: b'>, <IfNode>, <Text Node: ' '>, <IfNode>, <Text Node: ' '>]> |
block_context | <django.template.loader_tags.BlockContext object at 0x7ff38a98d450> |
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
block | <Block Node: content. Contents: [<Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7ff38aa682d0>, <Text Node: ' <div>'>, <django.template.base.InclusionNode object at 0x7ff389c6ccd0>, <Text Node: '</div> <div> '>, <django.template.base.InclusionNode object at 0x7ff389c6cd10>, <Text Node: ' </div> '>, <IfNode>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <IfNode>, <Text Node: ' <div style="clear: b'>, <IfNode>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' <div style="disp'>, <Variable Node: how_many>, <Text Node: '</div> '>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38bf27e10>, <Text Node: ' <div class="dl-p'>, <Variable Node: doors.0.door_type.id>, <Text Node: '"> '>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38a9b89d0>, <Text Node: ' </div> <'>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38abae390>, <Text Node: ' '>, <Text Node: ' <div style="clear: b'>, <IfNode>, <Text Node: ' '>, <IfNode>, <Text Node: ' '>]> |
self | <Block Node: content. Contents: []> |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/base.py
in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = self.render_node(node, context)...
else:
bit = node
bits.append(force_unicode(bit))
return mark_safe(u''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
node | <django.template.base.InclusionNode object at 0x7ff389c6cd10> |
bit | u'</div>\n <div>\n ' |
bits | [u'\n ', u'', u'\n <div>', u'\n <img src="" alt="">\n', u'</div>\n <div>\n '] |
self | [<Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7ff38aa682d0>, <Text Node: ' <div>'>, <django.template.base.InclusionNode object at 0x7ff389c6ccd0>, <Text Node: '</div> <div> '>, <django.template.base.InclusionNode object at 0x7ff389c6cd10>, <Text Node: ' </div> '>, <IfNode>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <IfNode>, <Text Node: ' <div style="clear: b'>, <IfNode>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' <div style="disp'>, <Variable Node: how_many>, <Text Node: '</div> '>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38bf27e10>, <Text Node: ' <div class="dl-p'>, <Variable Node: doors.0.door_type.id>, <Text Node: '"> '>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38a9b89d0>, <Text Node: ' </div> <'>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38abae390>, <Text Node: ' '>, <Text Node: ' <div style="clear: b'>, <IfNode>, <Text Node: ' '>, <IfNode>, <Text Node: ' '>] |
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/debug.py
in render_node
def compile_function_error(self, token, e):
if not hasattr(e, 'django_template_source'):
e.django_template_source = token.source
class DebugNodeList(NodeList):
def render_node(self, node, context):
try:
return node.render(context)...
except Exception, e:
if not hasattr(e, 'django_template_source'):
e.django_template_source = node.source
raise
Variable | Value |
---|---|
node | <django.template.base.InclusionNode object at 0x7ff389c6cd10> |
self | [<Text Node: ' '>, <django.template.defaulttags.LoadNode object at 0x7ff38aa682d0>, <Text Node: ' <div>'>, <django.template.base.InclusionNode object at 0x7ff389c6ccd0>, <Text Node: '</div> <div> '>, <django.template.base.InclusionNode object at 0x7ff389c6cd10>, <Text Node: ' </div> '>, <IfNode>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <IfNode>, <Text Node: ' <div style="clear: b'>, <IfNode>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' '>, <Text Node: ' <div style="disp'>, <Variable Node: how_many>, <Text Node: '</div> '>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38bf27e10>, <Text Node: ' <div class="dl-p'>, <Variable Node: doors.0.door_type.id>, <Text Node: '"> '>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38a9b89d0>, <Text Node: ' </div> <'>, <django.template.loader_tags.ConstantIncludeNode object at 0x7ff38abae390>, <Text Node: ' '>, <Text Node: ' <div style="clear: b'>, <IfNode>, <Text Node: ' '>, <IfNode>, <Text Node: ' '>] |
e | AttributeError("'str' object has no attribute 'quick_link'",) |
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
/srv/www/dmarket/env/local/lib/python2.7/site-packages/django/template/base.py
in render
def dec(func):
params, varargs, varkw, defaults = getargspec(func)
class InclusionNode(TagHelperNode):
def render(self, context):
resolved_args, resolved_kwargs = self.get_resolved_arguments(context)
_dict = func(*resolved_args, **resolved_kwargs)...
if not getattr(self, 'nodelist', False):
from django.template.loader import get_template, select_template
if isinstance(file_name, Template):
t = file_name
elif not isinstance(file_name, basestring) and is_iterable(file_name):
Variable | Value |
---|---|
context | [{}, {'csrf_token': <django.utils.functional.__proxy__ object at 0x7ff38a98d5d0>}, {'request': <WSGIRequest path:/catalog/brand/98/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{}, META:{'CSRF_COOKIE': '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q', 'HTTP_ACCEPT': '*/*', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'ekb.dvermarket.com', 'HTTP_USER_AGENT': 'claudebot', 'HTTP_X_FORWARDED_FOR': '3.236.226.100', 'PATH_INFO': u'/catalog/brand/98/', 'QUERY_STRING': '', 'RAW_URI': '/catalog/brand/98/', 'REMOTE_ADDR': '', 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': u'', 'SERVER_NAME': 'ekb.dvermarket.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.0', 'SERVER_SOFTWARE': 'gunicorn/19.10.0', 'gunicorn.socket': <socket._socketobject object at 0x7ff389c57c90>, 'wsgi.errors': <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0>, 'wsgi.file_wrapper': <class 'gunicorn.http.wsgi.FileWrapper'>, 'wsgi.input': <gunicorn.http.body.Body object at 0x7ff38aa3bdd0>, 'wsgi.input_terminated': True, 'wsgi.multiprocess': True, 'wsgi.multithread': False, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>}, {'perms': <django.contrib.auth.context_processors.PermWrapper object at 0x7ff38a9ee0d0>, 'user': <django.utils.functional.SimpleLazyObject object at 0x7ff38aa3b190>}, {}, {'LANGUAGES': (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')), 'LANGUAGE_BIDI': False, 'LANGUAGE_CODE': 'ru-ru'}, {'MEDIA_URL': '/media/'}, {'messages': <django.contrib.messages.storage.fallback.FallbackStorage object at 0x7ff38aa3ba10>}, {'bid': '<style>\n.feedback-form {\n font-family: "Arial", sans-serif;\n margin: 30px 0;\n}\n\n.feedback-form__status {\n border-radius: 6px;\n padding: 16px 24px;\n margin-bottom: 15px;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.6);\n background: rgba(24, 193, 57, 0.1);\n display: none;\n}\n\n.feedback-form__status > b {\n color: #00a220;\n display: block;\n margin-bottom: -8px;\n}\n\n.feedback-form__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 24px;\n}\n\n.feedback-form__title {\n font-size: 16px;\n line-height: 150%;\n margin-right: 12px;\n white-space: normal;\n}\n\n.feedback-form.feedback-form_large .feedback-form__title {\n font-size: 20px;\n}\n\n.feedback-form__subtitle {\n font-size: 14px;\n color: #454D54;\n margin-top: 4px;\n display: none;\n}\n\n.feedback-form.feedback-form_large .feedback-form__subtitle {\n display: block;\n}\n\n.feedback-form__form {\n position: relative;\n border-radius: 6px;\n background: #EEF2F5;\n padding: 16px 24px !important;\n max-height: 1500px;\n overflow: hidden;\n transition: max-height 0.5s 0s ease, overflow 0s 0.5s ease;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form {\n max-height: 47px;\n overflow: hidden;\n}\n\n.feedback-form.feedback-form_large.feedback-form_collapsed .feedback-form__form {\n max-height: 56px;\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__form::after {\n opacity: 1;\n}\n\n.feedback-form__body {\n\n}\n\n.feedback-form.feedback-form_large .feedback-form__body {\n display: flex;\n flex-wrap: wrap;\n gap: 16px;\n}\n\n.feedback-form__fieldset {\n border-width: 0;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset {\n width: 100%;\n margin-top: 0 !important;\n}\n\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_name,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_phone,\n.feedback-form.feedback-form_large .feedback-form__fieldset.feedback-form__fieldset_city {\n width: calc(100% / 3 - 16px / 3 * 2);\n}\n\n.feedback-form__fieldset + .feedback-form__fieldset {\n margin-top: 16px;\n}\n\n.feedback-form__input,\n.feedback-form__textarea {\n display: block;\n width: 100% !important;\n font-size: 14px;\n background: #fff;\n height: 53px;\n font-family: Arial;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__input::placeholder,\n.feedback-form__textarea::placeholder {\n color: #9CA3AA;\n}\n\n.feedback-form__input:focus,\n.feedback-form__textarea:focus {\n border-color: #f5c73e;\n}\n\n.feedback-form__input:focus::placeholder,\n.feedback-form__textarea:focus::placeholder {\n color: rgba(255, 255, 255, 0);\n}\n\n.feedback-form__input {\n \n}\n\n.feedback-form__textarea {\n resize: none;\n height: 53px;\n padding-top: 16px !important;\n padding-bottom: 16px !important;\n}\n\n.feedback-form__select {\n display: block;\n width: 100%;\n font-size: 14px;\n background: #fff;\n height: 53px;\n padding: 0 24px !important;\n border: 1px solid #D9D9D9;\n background: white;\n border-radius: 6px;\n outline: none;\n box-sizing: border-box;\n}\n\n.feedback-form__checkbox {\n display: inline-block;\n white-space: nowrap;\n vertical-align: top;\n height: 30px;\n line-height: 30px;\n position: relative;\n padding-left: 26px;\n}\n\n.feedback-form__checkbox + .feedback-form__checkbox {\n margin-left: 24px;\n}\n\n.feedback-form__checkbox > input {\n display: none;\n}\n\n.feedback-form__checkbox > span {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.feedback-form__checkbox > span::before,\n.feedback-form__checkbox > span::after {\n content: "";\n display: block;\n position: absolute;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > span::before {\n width: 14px;\n height: 14px;\n top: 6px;\n left: 0;\n background: transparent;\n border: 1px solid #D9D9D9;\n border-radius: 2px;\n}\n\n.feedback-form__checkbox > span::after {\n top: 10px;\n left: 4px;\n width: 7px;\n height: 3px;\n border-bottom: 2px solid #ffffff;\n border-left: 2px solid #ffffff;\n transform: rotate(-45deg);\n opacity: 0;\n}\n\n.feedback-form__checkbox > div {\n height: 30px;\n line-height: 30px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n}\n\n.feedback-form__checkbox > div:hover {\n opacity: 0.9;\n}\n\n.feedback-form__checkbox > input:checked ~ div {\n opacity: 1;\n}\n\n.feedback-form__checkbox > input:checked ~ span::before {\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__checkbox > input:checked ~ span::after {\n opacity: 1;\n}\n\n.feedback-form__footer {\n margin-top: 24px;\n display: flex;\n gap: 16px;\n}\n\n.feedback-form.feedback-form_large .feedback-form__footer {\n padding-left: calc(100% / 3 * 2)\n}\n\n.feedback-form__button {\n display: inline-block;\n width: auto;\n padding: 0 23px;\n font: 300 14px \'Arial\', sans-serif;\n height: 42px;\n line-height: 40px;\n border: 1px solid transparent;\n border-radius: 6px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-appearance: none;\n}\n\n.feedback-form__button.feedback-form__button_gold {\n color: black;\n background: #F5A800;\n border-color: #F5A800;\n}\n\n.feedback-form__button.feedback-form__button_linear {\n color: #9CA3AA;\n background: transparent;\n border-color: #9CA3AA;\n}\n\n.feedback-form__button.feedback-form__button_gold:active {\n background: #F0A300;\n}\n\n.feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: none;\n}\n\n.feedback-form__button.feedback-form__button_submit {\n}\n\n.feedback-form.feedback-form_collapsed .feedback-form__header .feedback-form__button.feedback-form__button_collapse {\n display: block;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_gold {\n flex-basis: 55%;\n}\n\n.feedback-form__footer .feedback-form__button.feedback-form__button_linear {\n flex-basis: 45%;\n}\n</style>\n<div class="{{CLASS}}">\n <div class="feedback-form__status"><b>\xd0\xa1\xd0\xbe\xd0\xbe\xd0\xb1\xd1\x89\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xbe\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xbe</b><br/>\xd0\x92 \xd1\x82\xd0\xb5\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xb4\xd0\xb2\xd1\x83\xd1\x85 \xd1\x80\xd0\xb0\xd0\xb1\xd0\xbe\xd1\x87\xd0\xb8\xd1\x85 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb9 \xd0\xbd\xd0\xb0\xd1\x88 \xd0\xbe\xd0\xbf\xd0\xb5\xd1\x80\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80 \xd1\x81\xd0\xb2\xd1\x8f\xd0\xb6\xd0\xb5\xd1\x82\xd1\x81\xd1\x8f \xd1\x81 \xd0\xb2\xd0\xb0\xd0\xbc\xd0\xb8</div>\n <form class="feedback-form__form" action="/bid/">\n <div class="feedback-form__header">\n <div class="feedback-form__title-col">\n <div class="feedback-form__title">\xd0\x9e\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd1\x8c\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd1\x8f\xd0\xb2\xd0\xba\xd1\x83, \xd0\xb5\xd1\x81\xd0\xbb\xd0\xb8 \xd1\x85\xd0\xbe\xd1\x82\xd0\xb8\xd1\x82\xd0\xb5 \xd0\xb7\xd0\xb0\xd0\xba\xd0\xb0\xd0\xb7\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n <div class="feedback-form__subtitle">\xd0\x91\xd0\xbe\xd0\xbb\xd0\xb5\xd0\xb5 2 000 \xd0\xbc\xd0\xbe\xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb5\xd0\xb9 \xd0\xb2\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb8 \xd0\xbc\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd1\x8b\xd1\x85 \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb9 \xd0\xb2 \xd0\xbd\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbc \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3\xd0\xb5</div>\n </div>\n <button type="button" class="feedback-form__button feedback-form__button_gold feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb8\xd1\x82\xd1\x8c \xd1\x84\xd0\xbe\xd1\x80\xd0\xbc\xd1\x83</button>\n </div>\n <div class="feedback-form__body">\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_name">\n <input class="feedback-form__input" type="text" name="name" placeholder="\xd0\xa4\xd0\x98\xd0\x9e" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_phone">\n <input class="feedback-form__input" type="text" name="phone" placeholder="\xd0\xa2\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd" />\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_city">\n <select name="city" class="feedback-form__select">\n <option value="1">\xd0\xa7\xd0\xb5\xd0\xbb\xd1\x8f\xd0\xb1\xd0\xb8\xd0\xbd\xd1\x81\xd0\xba</option><option value="34">\xd0\x9c\xd0\xb8\xd0\xb0\xd1\x81\xd1\x81</option><option value="17">\xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="18">\xd0\xa2\xd1\x8e\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8c</option><option value="19">\xd0\x9f\xd0\xb5\xd1\x80\xd0\xbc\xd1\x8c</option><option value="20">\xd0\xa3\xd1\x84\xd0\xb0</option><option value="21">\xd0\x9c\xd0\xb0\xd0\xb3\xd0\xbd\xd0\xb8\xd1\x82\xd0\xbe\xd0\xb3\xd0\xbe\xd1\x80\xd1\x81\xd0\xba</option><option value="22">\xd0\x9a\xd1\x80\xd0\xb0\xd1\x81\xd0\xbd\xd0\xbe\xd0\xb4\xd0\xb0\xd1\x80</option><option value="23">\xd0\x9a\xd1\x83\xd1\x80\xd0\xb3\xd0\xb0\xd0\xbd</option><option value="24">\xd0\x9d\xd0\xbe\xd0\xb2\xd0\xbe\xd1\x81\xd0\xb8\xd0\xb1\xd0\xb8\xd1\x80\xd1\x81\xd0\xba</option><option value="25">\xd0\xa1\xd0\xb0\xd0\xbc\xd0\xb0\xd1\x80\xd0\xb0</option><option value="26">\xd0\x91\xd0\xb0\xd1\x80\xd0\xbd\xd0\xb0\xd1\x83\xd0\xbb</option><option value="29">\xd0\x9e\xd1\x80\xd0\xb5\xd0\xbd\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="30">\xd0\x98\xd1\x80\xd0\xba\xd1\x83\xd1\x82\xd1\x81\xd0\xba</option><option value="31">\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0</option><option value="32">\xd0\xa1\xd0\xb0\xd0\xbd\xd0\xba\xd1\x82-\xd0\x9f\xd0\xb5\xd1\x82\xd0\xb5\xd1\x80\xd0\xb1\xd1\x83\xd1\x80\xd0\xb3</option><option value="33">\xd0\xa2\xd0\xbe\xd0\xbc\xd1\x81\xd0\xba</option><option value="35">\xd0\x97\xd0\xbb\xd0\xb0\xd1\x82\xd0\xbe\xd1\x83\xd1\x81\xd1\x82</option><option value="36">\xd0\x9a\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xbd\xd0\xb8\xd0\xbd\xd0\xb3\xd1\x80\xd0\xb0\xd0\xb4</option>\n </select>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_type">\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="outdoor">\n <span></span>\n <div>\xd0\x92\xd1\x85\xd0\xbe\xd0\xb4\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n <label class="feedback-form__checkbox">\n <input type="checkbox" name="type" value="interior">\n <span></span>\n <div>\xd0\x9c\xd0\xb5\xd0\xb6\xd0\xba\xd0\xbe\xd0\xbc\xd0\xbd\xd0\xb0\xd1\x82\xd0\xbd\xd0\xb0\xd1\x8f \xd0\xb4\xd0\xb2\xd0\xb5\xd1\x80\xd1\x8c</div>\n </label>\n </fieldset>\n <fieldset class="feedback-form__fieldset feedback-form__fieldset_comment">\n <textarea name="comment" class="feedback-form__textarea" placeholder="\xd0\x9a\xd0\xbe\xd0\xbc\xd0\xbc\xd0\xb5\xd0\xbd\xd1\x82\xd0\xb0\xd1\x80\xd0\xb8\xd0\xb9"></textarea>\n </fieldset>\n </div>\n <div class="feedback-form__footer js-yandex-metrika-trigger" data-goal="{{DATAGOAL}}">\n <input class="feedback-form__button feedback-form__button_gold feedback-form__button_submit" type="submit" value="\xd0\x9e\xd1\x82\xd0\xbf\xd1\x80\xd0\xb0\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8c" />\n <button type="button" class="feedback-form__button feedback-form__button_linear feedback-form__button_collapse">\xd0\x97\xd0\xb0\xd0\xba\xd1\x80\xd1\x8b\xd1\x82\xd1\x8c</button>\n </div>\n </form>\n</div>\n <script src="https://cpwebassets.codepen.io/assets/common/stopExecutionOnTimeout-2c7831bb44f98c1391d6a4ffda0e1fd302503391ca806e7fcc7b9b87197aec26.js"></script>\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>\n <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>\n <script id="rendered-js">\n $(document).ready(function () {\n \n // collapse when init\n $(".feedback-form").addClass("feedback-form_collapsed");\n \n // open when focus inside\n $(".feedback-form__button.feedback-form__button_collapse").on("click", function () {\n $(this).closest(".feedback-form").toggleClass("feedback-form_collapsed");\n });\n \n // mask\n $(".feedback-form").find("input[name=phone]").mask(\'+7 000 000 00 00\');\n $(".feedback-form").find("input[name=phone]").on(\'focus change keyup\', function(){\n if ($(this).val().length < 3) {\n $(this).val(\'+7 \');\n }\n }); \n // send form\n $(\'.feedback-form__form\').on(\'submit\', function (e) {\n e.preventDefault();\n \n let $form = $(e.target);\n let data = {\n name: $form.find(\'[name=name]\').val(),\n phone: $form.find(\'[name=phone]\').val(),\n city: $form.find(\'[name=city]\').val(),\n type: function () {\n let values = [];\n $(\'[name=type]:checked\').each(function () {\n values.push($(this).val());\n });\n return values;\n }(),\n //title\n comment: $form.find(\'[name=comment]\').val() };\n \n \n $.ajax({\n url: $form.attr(\'action\'),\n method: \'POST\',\n dataType: \'json\',\n data: JSON.stringify(data),\n success: function (data) {\n if (data.success) {\n $form.trigger("reset");\n $(\'.feedback-form__status\').slideDown(200);\n window.setTimeout(function () {\n $(\'.feedback-form__status\').slideUp(200);\n }, 10000);\n }\n } });\n \n });\n });\n //# sourceURL=pen.js\n </script> \n\n<script>\n let sendYandexGoal = function(goal) {\n let id = {{ID}};\n let interval = setInterval(function () {\n if (typeof window.ym != \'undefined\') {\n ym(id, \'reachGoal\', goal);\n console.log(`ym(${ id }, \'reachGoal\', \'${ goal }\')`);\n clearInterval(interval);\n } else {\n console.log(\'ym is not defined!\');\n }\n }, 500);\n };\n \n $(\'.js-yandex-metrika-trigger\').click(function(){\n let goal = document.querySelector(\'.js-yandex-metrika-trigger\').dataset.goal;\n sendYandexGoal(this.dataset.goal);\n })\n </script>\n'}, {'config': <constance.config.Config object at 0x7ff38e2c88d0>}, {'brand': <BrandName: Сударь >, 'door_type_id': 0, 'doors': [<Door: МД-510 Сударь >, <Door: МД-600 Сударь >, <Door: МД-601 Сударь >, <Door: метал/ метал Сударь >, <Door: МД-509 Сударь >, <Door: МД-26 Сударь >, <Door: МД-05 Сударь >, <Door: МД-21 Сударь >, <Door: МД-07 Сударь >, <Door: МД-32 Сударь >, <Door: МД-42 Сударь >, <Door: МД-38 Сударь >], 'b_seo': <BrandMetadataModelInstance: /catalog/brand/98/>}] |
file_name | 'templatetags/articles.html' |
self | <django.template.base.InclusionNode object at 0x7ff389c6cd10> |
context_class | <class 'django.template.context.Context'> |
func | <function get_article_links_in_quick_link at 0x7ff38acf37d0> |
resolved_kwargs | {} |
resolved_args | [''] |
/srv/www/dmarket/dmarket/knowledge_base/templatetags/articles_extra.py
in get_article_links_in_quick_link
# links = links.reverse()
return {'links': links}
@register.inclusion_tag('templatetags/articles.html')
def get_article_links_in_quick_link(obj):
if obj.quick_link:...
obj = obj.quick_link
links = ArticleLinksPartition.objects.filter(
partition=obj).values_list('article', flat=True)
articles = Article.objects.filter(pk__in=links, is_visible=True).order_by('order')
Variable | Value |
---|---|
obj | '' |
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
SERVER_SOFTWARE | 'gunicorn/19.10.0' |
SCRIPT_NAME | u'' |
REQUEST_METHOD | 'GET' |
wsgi.input_terminated | True |
SERVER_PROTOCOL | 'HTTP/1.0' |
QUERY_STRING | '' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_CONNECTION | 'close' |
SERVER_NAME | 'ekb.dvermarket.com' |
REMOTE_ADDR | '' |
wsgi.url_scheme | 'http' |
SERVER_PORT | '80' |
wsgi.input | <gunicorn.http.body.Body object at 0x7ff38aa3bdd0> |
HTTP_HOST | 'ekb.dvermarket.com' |
wsgi.multithread | False |
HTTP_ACCEPT | '*/*' |
wsgi.version | (1, 0) |
RAW_URI | '/catalog/brand/98/' |
wsgi.run_once | False |
wsgi.errors | <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff38aa3b7d0> |
wsgi.multiprocess | True |
gunicorn.socket | <socket._socketobject object at 0x7ff389c57c90> |
HTTP_X_FORWARDED_FOR | '3.236.226.100' |
wsgi.file_wrapper | '' |
CSRF_COOKIE | '1yNQA9PwjkRQhB8GovsOlhqPYf0ZR35Q' |
PATH_INFO | u'/catalog/brand/98/' |
dmarket.settings
Setting | Value |
---|---|
NORECAPTCHA_SECRET_KEY | u'********************' |
GRAPPELLI_INDEX_DASHBOARD | 'dmarket.dashboard.CustomIndexDashboard' |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | True |
CSRF_COOKIE_SECURE | False |
LANGUAGE_CODE | 'ru-ru' |
ROOT_URLCONF | 'urls' |
MANAGERS | ((u'mihail201', 'test@mihail201.ru'), (u'\u0418\u043b\u044c\u044f \u041d\u0438\u043a\u043e\u043d\u0435\u043d\u043a\u043e', 'enweave@gmail.com'), (u'\u0418\u0433\u043e\u0440\u044c \u0415\u0440\u043e\u0445\u0438\u043d', 'in@simplemedia.ru'), (u'\u041a\u043e\u0432\u0430\u043b\u044c\u0441\u043a\u0438\u0439', 'nb@simplemedia.ru'), ('', 'julikiss89@gmail.com'), ('', 'nb@dvermarket.com'), ('', 'rs@dvermarket.com'), ('', 'content@simplemedia.ru'), ('', 'office@dvermarket.com'), ('', 'lublu_da@mail.ru'), ('', 'ya-advance@ya.ru')) |
DEFAULT_CHARSET | 'utf-8' |
STATIC_ROOT | '/srv/www/dmarket/dmarket/static' |
CELERYBEAT_SCHEDULER | 'djcelery.schedulers.DatabaseScheduler' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
SEND_BROKEN_LINK_EMAILS | False |
URL_VALIDATOR_USER_AGENT | 'Django/1.4.2 (https://www.djangoproject.com)' |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'django.contrib.staticfiles.finders.DefaultStorageFinder') |
FILEBROWSER_DIRECTORY | 'upload/' |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_NAME | 'sessionid' |
ADMIN_FOR | () |
TIME_INPUT_FORMATS | ('%H:%M:%S', '%H:%M') |
DATABASES | {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': '127.0.0.1', 'NAME': 'db', 'OPTIONS': {'options': '-c search_path=dmarket'}, 'PASSWORD': u'********************', 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': None, 'TEST_NAME': None, 'TIME_ZONE': 'Asia/Yekaterinburg', 'USER': 'postgres'}} |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler') |
DEFAULT_CONTENT_TYPE | 'text/html' |
APPEND_SLASH | False |
FIRST_DAY_OF_WEEK | 0 |
DATABASE_ROUTERS | [] |
NORECAPTCHA_SITE_KEY | u'********************' |
YEAR_MONTH_FORMAT | 'F Y' |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': ''}} |
SERVER_EMAIL | 'root@localhost' |
SESSION_COOKIE_PATH | '/' |
USE_X_FORWARDED_HOST | False |
THUMBNAIL_PREFIX | 'cache/' |
MIDDLEWARE_CLASSES | ('middleware.CheckFormTag', 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'middleware.FlatpageFallbackMiddleware', 'middleware.CallFormMiddleware', 'middleware.ReviewFormMiddleware', 'middleware.OrderRowFormMiddleware') |
USE_I18N | True |
THOUSAND_SEPARATOR | ',' |
SECRET_KEY | u'********************' |
LANGUAGE_COOKIE_NAME | 'django_language' |
DEFAULT_INDEX_TABLESPACE | '' |
TRANSACTIONS_MANAGED | False |
LOGGING_CONFIG | 'django.utils.log.dictConfig' |
TEMPLATE_LOADERS | ('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', 'django.template.loaders.eggs.Loader') |
WSGI_APPLICATION | None |
TEMPLATE_DEBUG | True |
X_FRAME_OPTIONS | 'SAMEORIGIN' |
AUTHENTICATION_BACKENDS | ('django.contrib.auth.backends.ModelBackend',) |
ROISTAT_TOKEN_KEY | u'********************' |
FORCE_SCRIPT_NAME | None |
CACHE_BACKEND | 'locmem://' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SESSION_COOKIE_SECURE | False |
BROKER_BACKEND | 'redis' |
FILE_CHARSET | 'utf-8' |
DEBUG | True |
SESSION_FILE_PATH | None |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
INSTALLED_APPS | ('grappelli.dashboard', 'grappelli', 'filebrowser', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admin', 'django.contrib.flatpages', 'message', 'sitearhive', 'flatpages', 'news', 'stock', 'order', 'catalog', 'call', 'reviews', 'constance_extended', 'seo', 'geo', 'placeholder', 'banners', 'quick_links', 'simpletools', 'knowledge_base', 'bid', 'tinymce', 'constance', 'constance.backends.database', 'djcelery', 'djkombu', 'sorl.thumbnail', 'rollyourown.seo', 'pytils', 'south', 'colorfield', 'nocaptcha_recaptcha') |
LANGUAGES | (('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('bn', 'Bengali'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese')) |
COMMENTS_ALLOW_PROFANITIES | False |
STATICFILES_DIRS | () |
PREPEND_WWW | False |
SECURE_PROXY_SSL_HEADER | None |
SESSION_COOKIE_HTTPONLY | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
CSRF_COOKIE_DOMAIN | None |
TINYMCE_FILEBROWSER | True |
MONTH_DAY_FORMAT | 'F j' |
LOGIN_URL | '/accounts/login/' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
TINYMCE_JS_URL | '/static/tiny_mce/tiny_mce.js' |
TIME_FORMAT | 'P' |
GEOIP_PATH | '/srv/www/dmarket/dmarket/geo' |
DATE_INPUT_FORMATS | ('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y') |
CSRF_COOKIE_NAME | 'csrftoken' |
EMAIL_HOST_PASSWORD | u'********************' |
CELERY_DISABLE_RATE_LIMITS | True |
PASSWORD_RESET_TIMEOUT_DAYS | u'********************' |
CACHE_MIDDLEWARE_ALIAS | 'default' |
SESSION_SAVE_EVERY_REQUEST | True |
ADMIN_MEDIA_PREFIX | '/static/grappelli/' |
NUMBER_GROUPING | 0 |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_COOKIE_PATH | '/' |
LOGIN_REDIRECT_URL | '/accounts/profile/' |
PROJECT_ROOT | '/srv/www/dmarket/dmarket' |
LOGGING | {'disable_existing_loggers': False, 'handlers': {'console': {'class': 'logging.StreamHandler'}, 'file': {'class': 'logging.StreamHandler', 'level': 'DEBUG'}}, 'loggers': {'bid': {'handlers': ['console'], 'level': 'INFO', 'propagate': True}, 'django': {'handlers': ['console'], 'level': 'INFO', 'propagate': True}}, 'version': 1} |
IGNORABLE_404_URLS | () |
LOCALE_PATHS | () |
TEMPLATE_STRING_IF_INVALID | '' |
LOGOUT_URL | '/accounts/logout/' |
EMAIL_USE_TLS | True |
FIXTURE_DIRS | () |
EMAIL_HOST | 'smtp.yandex.ru' |
DATE_FORMAT | 'N j, Y' |
MEDIA_ROOT | '/srv/www/dmarket/dmarket/media' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
ADMINS | ((u'mihail201', 'test@mihail201.ru'), (u'\u0418\u043b\u044c\u044f \u041d\u0438\u043a\u043e\u043d\u0435\u043d\u043a\u043e', 'enweave@gmail.com')) |
FORMAT_MODULE_PATH | None |
DEFAULT_FROM_EMAIL | 'dvermarketcom2@yandex.ru' |
CONSTANCE_CONFIG | {'COPYRIGHT': (u'\u0414\u0432\u0435\u0440\u043c\u0430\u0440\u043a\u0435\u0442', u'copyright'), 'DEFAULT_TITLE': (u'\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043c\u0430\u0433\u0430\u0437\u0438\u043d \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0438 \u043c\u0435\u0436\u043a\u043e\u043c\u043d\u0430\u0442\u043d\u044b\u0445 \u0434\u0432\u0435\u0440\u0435\u0439 "\u0414\u0432\u0435\u0440\u043c\u0430\u0440\u043a\u0435\u0442"', u'\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e'), 'DOORS_PER_PAGE': (6, u'\u0414\u0432\u0435\u0440\u0435\u0439 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435'), 'EMAIL_RCPT_TO_1': (u'', u'Email \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0437\u0430\u043c\u0435\u0440'), 'EMAIL_RCPT_TO_2': (u'', u'Email \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443'), 'EMAIL_RCPT_TO_3': (u'', u'Email \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u043d\u043e\u0432\u043e\u043c \u0437\u0430\u043a\u0430\u0437\u0435 \u0438\u043b\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0437\u0430\u043c\u0435\u0440\u0449\u0438\u043a\u0430'), 'EMAIL_RCPT_TO_4': (u'', u'Email \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u043e\u0442\u0437\u044b\u0432\u0430'), 'EMAIL_TEXT_1': (u'', u'\u0422\u0435\u043a\u0441\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e \u0437\u0430\u043a\u0430\u0437\u0435'), 'EMAIL_TEXT_2': (u'', u'\u0422\u0435\u043a\u0441\u0442 coo\u0431\u0449\u0435\u043d\u0438\u044f \u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u043e\u0442\u0437\u044b\u0432\u0430'), 'ERROR_404_TEXT': ('', u'\u0422\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0435 404'), 'ERROR_500_TEXT': ('', u'\u0422\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0435 500'), 'PAGE_NEWS_COUNT': (5, u'\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u043e\u0432\u043e\u0441\u0442\u0435\u0439 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435'), 'PHONE_1': ('', u'\u041d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435\u043b\u044f sms-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e \u0432\u044b\u0437\u043e\u0432\u0435 \u0437\u0430\u043c\u0435\u0440\u0449\u0438\u043a\u0430'), 'PHONE_2': ('', u'\u041d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435\u043b\u044f sms-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e \u0432\u044b\u0437\u043e\u0432\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a\u0430'), 'PHONE_3': ('', u'\u041d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435\u043b\u044f sms-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e \u043d\u043e\u0432\u043e\u043c \u0437\u0430\u043a\u0430\u0437\u0435 \u0438\u043b\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 \u0437\u0430\u043c\u0435\u0440\u0449\u0438\u043a\u0430'), 'QUANTITY_RECENT_ARTICLES': (5, u'\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u043e \u0434\u0430\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f'), 'RANDOM_DOOR_COUNT': (2, u'\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0434\u0432\u0435\u0440\u0435\u0439 \u0432 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u0435'), 'SIDEBAR_NEWS_COUNT': (3, u'\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u043e\u0432\u043e\u0441\u0442\u0435\u0439 \u0432 \u0441\u0430\u0439\u0434\u0431\u0430\u0440\u0435'), 'SIMILAR_DOOR_COUNT': (3, u'\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0446\u0438\u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043c\u043e\u0439 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435'), 'SIMILAR_MAX': (0.1, u'\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0445\u043e\u0436\u0435\u0439 \u0434\u0432\u0435\u0440\u044c\u044e \u0441 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0446\u0435\u043d\u043e\u0439 \u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 (\u0432 \u0434\u043e\u043b\u044f\u0445)'), 'SIMILAR_MIN': (0.1, u'\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0445\u043e\u0436\u0435\u0439 \u0434\u0432\u0435\u0440\u044c\u044e \u0441 \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0435\u0439 \u0446\u0435\u043d\u043e\u0439 \u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 (\u0432 \u0434\u043e\u043b\u044f\u0445)'), 'THANKS_FOR_CALL': (u'', u'\u0422\u0435\u043a\u0441\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f "\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u044b\u0437\u043e\u0432 \u0437\u0430\u043c\u0435\u0440\u0449\u0438\u043a\u0430"'), 'THANKS_FOR_ORDER': (u'', u'\u0422\u0435\u043a\u0441\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f "\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0437\u0430\u043a\u0430\u0437"'), 'THANKS_FOR_REVIEW': (u'', u'\u0422\u0435\u043a\u0441\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f "\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u043e\u0442\u0437\u044b\u0432"'), 'YA_BIK': ('13', u'\u0426\u0435\u043d\u0430 \u0441\u0442\u0430\u0432\u043a\u0438 \u0434\u043b\u044f YML'), 'YA_COMPANY': (u'', u'\u041f\u043e\u043b\u043d\u043e\u0435 \u044e\u0440\u0435\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430 \u0434\u043b\u044f \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 YML'), 'YA_NAME': (u'', u'\u0418\u043c\u044f \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430 \u0434\u043b\u044f \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0442 YML')} |
MEDIA_URL | '/media/' |
DATETIME_FORMAT | 'N j, Y, P' |
TEMPLATE_DIRS | ('/srv/www/dmarket/dmarket/templates',) |
SITE_ID | 1 |
DISALLOWED_USER_AGENTS | () |
ALLOWED_INCLUDE_ROOTS | () |
DECIMAL_SEPARATOR | ' ' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SEO_FOR_MODELS | [] |
TEST_RUNNER | 'django_selenium.selenium_runner.SeleniumTestRunner' |
CACHE_MIDDLEWARE_KEY_PREFIX | u'********************' |
TIME_ZONE | 'Asia/Yekaterinburg' |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
DEFAULT_TABLESPACE | '' |
TEMPLATE_CONTEXT_PROCESSORS | ('django.core.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.contrib.messages.context_processors.messages', 'bid.context.bid_context', 'constance.context_processors.config') |
CONSTANCE_BACKEND | 'constance.backends.database.DatabaseBackend' |
SESSION_COOKIE_AGE | 1209600 |
SETTINGS_MODULE | 'dmarket.settings' |
USE_ETAGS | False |
LANGUAGES_BIDI | ('he', 'ar', 'fa') |
FILE_UPLOAD_TEMP_DIR | None |
INTERNAL_IPS | () |
STATIC_URL | '/static/' |
EMAIL_PORT | 587 |
USE_TZ | False |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
CELERY_RESULT_BACKEND | 'database' |
PASSWORD_HASHERS | u'********************' |
TINYMCE_DEFAULT_CONFIG | {'extended_valid_elements': 'iframe[name|src|framespacing|border|frameborder|scrolling|title|height|width],object[declare|classid|codebase|data|type|codetype|archive|standby|height|width|usemap|name|tabindex|align|border|hspace|vspace],button[quiz|id|class|style|onclick]', 'force_br_newlines': 'true', 'force_p_newlines': 'false', 'forced_root_block': '', 'height': '500px', 'plugins': 'spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template', 'theme': 'advanced', 'theme_advanced_buttons1': 'save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect', 'theme_advanced_buttons2': 'cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor', 'theme_advanced_buttons3': 'tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen', 'theme_advanced_buttons4': 'insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage', 'theme_advanced_statusbar_location': 'bottom', 'theme_advanced_toolbar_align': 'left', 'theme_advanced_toolbar_location': 'top', 'width': '90%'} |
ABSOLUTE_URL_OVERRIDES | {} |
CACHE_MIDDLEWARE_SECONDS | 600 |
THUMBNAIL_FORMAT | 'PNG' |
DATETIME_INPUT_FORMATS | ('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y') |
EMAIL_HOST_USER | 'dvermarketcom2@yandex.ru' |
PROFANITIES_LIST | u'********************' |
You're seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard 500 page.