Oct. 8, 2018, 9:57 a.m.

Загрузка кастомных template tags в качестве middleware

Django, inclusion_tag, middleware

Добрый день, Дорогие пользователи EVILEG!

Большое количество функционала по формированию шаблонов перевожу на использование inclusion_tag и т.д.

Просто последний рефакторинг показал, что ручное прописывание в теории может сэкономить процессорное время, но нифига не экономит время разработки, что лучше повторяющиеся элементы прописать в качестве inclusion_tag и писать так

{% load my_template_tags %}
{% my_tag %}

чем вручную писать все html теги

Но посетила мысль, а как запихать модуль тегов внутрь middleware, чтобы каждый раз не писать

{% load my_template_tags %}

а писать только

{% my_tag %}

Реализовывал кто-нибудь такое?


Virtual hosting with 10 percent discount
Virtual hosting with 10 percent discount
EVILEG offers reliable hosting with a 10% discount for virtual hosting and 5% for VPS
5

вроде так не делается. точнее, ясно понятно, можно(но сложно и не очевидно), но не делается. По идеологическим причинам. по поводу времени разработки - не понял. вроде добавить load ... в pycharm-е, который умеет сканировать темплейт тэги - не сильно длительный процесс.

0

Поэтому и хотелось услышать стороннее мнение. Стоит ли вообще заморачиваться с middleware.

А по поводу скорости разработки, это относится к причине, когда прописывал всю вёрстку руками, в итоге получилось много дублирования, которое при поддержке проекта превращается в исправление кода во многих шаблонах, когда при наличии inclusion_tag позволит сделать исправление только в одном шаблоне. В общем исправляю накопившийся технический долг, который сформировался в то время, когда у меня ещё не было устоявшегося взгляда на формирование некоторых элементов дизайна сайта. То есть конкретно к вопросу это не относится.

А что касается наличия или отсутствия load , то согласен - это не так долго и времени не отнимает, просто размышляю над тем, как лучше сделать.


0

я стараюсь делать какие-то куски кода - чем-то вроде компонентов в JS фреймворках. тоесть один шаблон - законченый компонент, например одно поле формы оно может содержать лейбл, само поле, поле описания ошибки и все прочее, а всю форму собирать из этих самых компонентов. при этом получившаяся форма - тоже компонент. а данные передавать как аргументы. так, что поправив один шаблон одного компонента, он меняется везде. получилось достаточно удобно.


при этом, из-за pre-load модели инициализации, все работает быстро - каждый шаблон находится и загружается в память на этапе инициализации.

0

правда иногда некоторые страницы я делаю полностью на JS - иногда так оказывается проще. но тогда могут возникнуть проблемы с SEO и прочим, а мне пока не хватает квалификации настраивать server side rendering=)

0

А я на днях добрался до переопределения ForeignKey Field и ManyToManyField. Забодало меня настраивать виджеты в формах, чтобы autocomplite работал на фронтенде пользователя, а то в Django автокомплит для этих полей работает только в Админке. Прикрутил в переопределённых формах django-autocomplite-light, после чего поудалял настройку виджетов во всех формах, только поменял поля ForeignKey на свои кастомные с указанием шаблона url для автокомплита.


0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Last comments
June 24, 2019, 10:23 a.m.
Евгений Легоцкой

Хорошо, ну будут проблемы помимо того, что касается статей, то не стесняйтесь задавать вопросы на форуме.
МБ
June 24, 2019, 10:21 a.m.
Михаил Булатов

Извиняюсь, все работает(из-за невнимательности).
June 24, 2019, 9:52 a.m.
Евгений Легоцкой

Придётся делать ещё сигнал в дочернем qml и пробрасывать через коннекты и обработчики. А вообще нужно смотреть конкретный код и что вы пытаетесь сделать. Так что лучше будет, если вы зад...
June 21, 2019, 8:31 a.m.
Ruslan Polupan

Вот моя строка по которой все отлично сработало %cqtdeployer% -bin c:/CentralMposKeys/CentalMposKeys.exe -qmake c:/Qt/5.12.2/mingw73_64/bin/qmake.exe
June 21, 2019, 8:24 a.m.
Андрей Янкович

Возможно кому то пригодится сqtdeployer для windows работает точно так же как и для Linux разница лишь в команде запуска Linux: cqtdeployer Windows: %cqtdeployer...
Now discuss on the forum
June 24, 2019, 2:36 p.m.
Михаиллл

Нашел проект подключения к вебсокету.Но по моему адресу не могу подключиться.Нужно ли для этого использовать библиотеки?Вы не знаете адрес вебсокета, на котором можно проверить с...
June 24, 2019, 2:07 p.m.
Евгений Легоцкой

Я пока даже не знаю, а какой код самого подключения? использовали ожидание на подключение? Так делали? socket->connectToServer("market");if (socket->waitForConnected(1000)) ...
June 24, 2019, 1:19 p.m.
IscanderChe

// widget.cpp#include "widget.h"#include <QTableView>#include <QVBoxLayout>#include "checkboxdelegate.h"#include "comboboxdelegate.h"#include "mytableview.h"#include <QSqlD...
June 24, 2019, 11:16 a.m.
BlinCT

Хорошо, с этим понятно. Вот есть такой набор каких то кнопок. Цифры отображают в каком порядке должен менятся фокус.1. Как правильнее сделать отображение активного обьекта...
e
June 24, 2019, 10:58 a.m.
evgenm27

Спасибо за ответ, буду пробовать
Looking for a Job?
10,000.00 руб. - 15,000.00 руб.
Нужен помощник для создания API.
Moscow, Moscow, Russia
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB