Добрый день товарищи! Я уже наверно задолбал всех своими вопросами, но кроме как на форуме опытом делиться больше не с кем, и перенимать его неоткуда. Столкнулся со следующей проблемой:
Перейдя к верстке проекта я поставил себе задачу детерминировать весь код по частям, чтобы другие программисты, которые его в последствии будут сопровождать, не крыли меня сами знаете чем)) В общем для базового шаблона base.html
я сделал файл стилей global.css
. Далее я хочу, чтобы для каждой вьюхи, которая использует свой шаблон, расширяющий base.html
, был отдельный файл стилей. В доках нашел раздел Дополнительный JS и CSS. Но это решение мне не совсем подходит, так как не для каждой вьюхи нужны формы. Немного поковырявшись в исходниках я нашел следующий класс MediaDefiningClass
. Ну и собственно придумал следующее:
Для CBV
class CustomView(DetailView, six.with_metaclass(MediaDefiningClass)):
....
class Media:
css = {
'all': ('pretty.css',)
}
В базовом шаблоне base.html
в head
пишу следующее {{ view.media}}
и получаю
<head>
<title></title>
<link href='/static/global.css' rel='stylesheet' type='text/css' />
<link href="/static/pretty.css" type="text/css" media="all" rel="stylesheet" />
</head>
Собственно получил ожидаемый результат. Собственно вопрос, насколько это решение является верным для вьюхи или же может быть есть наиболее оптимальное решение? Спасибо за внимание!