Есть ли способ получить direct_to_template для передачи RequestContext в Django? - PullRequest
4 голосов
/ 22 мая 2010

Я обнаружил, что пишу один и тот же взгляд снова и снова. Это в основном это:

def home_index(request):
    return render_to_response('home/index.html', RequestContext(request))

Чтобы придерживаться сухого принципала, я бы хотел использовать универсальный вид Я видел direct_to_template , но он проходит пустой контекст. Так как же я могу использовать универсальное представление и все же получить всю мощь RequestContext?

Ответы [ 2 ]

9 голосов
/ 22 мая 2010

direct_to_template, как и все общие представления, уже использует RequestContext, поэтому вам не нужно ничего делать для его включения.

Однако я не уверен, действительно ли вы спрашиваете, можете ли вы передавать дополнительные элементы контекста - и вы можете, используя параметр словаря extra_context, либо в URLconf, либо в представлении оболочки.

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

1 голос
/ 22 мая 2010

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

...