Есть ли способ заставить direct_to_template передавать RequestContext в django?
-
04-10-2019 - |
Вопрос
Я поймал себя на том, что пишу одну и ту же точку зрения снова и снова.По сути, это так:
def home_index(request):
return render_to_response('home/index.html', RequestContext(request))
Чтобы придерживаться принципа dry, я хотел бы использовать общий вид.Я видел direct_to_template - направленный шаблон, но он передает пустой контекст.Итак, как я могу использовать общее представление и при этом получить всю мощь RequestContext?
Решение
direct_to_template
, Как и все общие взгляды, уже использует запросContext, поэтому вам не нужно ничего делать, чтобы включить его.
Однако я не уверен, что вы действительно спрашиваете, является ли вы передавать дополнительные элементы контекста - и вы можете, используя extra_context
Параметр словаря, либо в URLCONF или в представлении обертки.
Также вы должны спросить себя, почему вы создаете несколько видов, которые просто представляют шаблоны. Если это то, что вы в основном делаете, вы можете обнаружить, что встроенный Django FlatPageS. Приложение лучше, чем жесткое кодирование ваших представлений.
Другие советы
Я помню, что у меня была такая же проблема, и я написал что-то вроде этого, но, глядя на код direct_to_template похоже, в новых версиях django этой проблемы больше не существует.direct_to_template передает правильный контекст.