我想知道如何將一個變量傳遞給我的所有模板,而不必在我的views.py文件中的每個方法上重複相同的代碼?Django - 如何使一個變量可用於所有模板?
在下面的例子中,我想讓類別(一個類別對象的數組)可用於Web應用程序中的所有模板。
Eg: I would like to avoid writing 'categories':categories on every method. Is it possible?
一種觀點方法
def front_page(request):
categories = Category.objects.all()
if is_logged_in(request) is False:
return render_to_response('users/signup.html', {'is_logged_in': is_logged_in(request), 'categories':categories}, context_instance=RequestContext(request))
else:
return render_to_response('users/front_page.html', {'is_logged_in': is_logged_in(request), 'categories':categories},context_instance=RequestContext(request))
另一種觀點方法
def another_view_method(request):
categories = Category.objects.all()
return render_to_response('eg/front_page.html', {'is_logged_in': is_logged_in(request), 'categories':categories},context_instance=RequestContext(request))
他們被稱爲'上下文處理器' –