【发布时间】:2015-02-15 02:32:20
【问题描述】:
在我遇到这种观点之前,我一直在我的方法中使用上下文:
def index(request):
context = RequestContext(request)
top_category_list = Category.objects.order_by('-likes')[:5]
for category in top_category_list:
category.url = encode_url(category.name)
context_dict = {'categories': top_category_list}
cat_list = get_category_list()
context_dict['cat_list'] = cat_list
page_list = Page.objects.order_by('-views')[:5]
context_dict['pages'] = page_list
if request.session.get('last_visit'):
# The session has a value for the last visit
last_visit_time = request.session.get('last_visit')
visits = request.session.get('visits', 0)
if (datetime.now() - datetime.strptime(last_visit_time[:-7], "%Y-%m-%d %H:%M:%S")).days > 0:
request.session['visits'] = visits + 1
else:
# The get returns None, and the session does not have a value for the last visit.
request.session['last_visit'] = str(datetime.now())
request.session['visits'] = 1
# Render and return the rendered response back to the user.
return render_to_response('rango/index.html', context_dict, context)
在上面的函数中有context_dict和context?这是为什么呢?
两者之间也有区别: context_dict = {'categories': top_category_list} 和 context_dict['categories'] = top_category_list
或者这完全一样?
谢谢你们!
【问题讨论】:
-
这段代码工作正常吗?
-
这段代码来自下面的教程,尽管我的索引视图与那个略有不同,因为这让我完全混淆了这些 context_dict 和上下文,所以不确定这段代码是否真的有效