1. django中的render
context在Django里表現(xiàn)為 Context 類(lèi),在django.template 模塊里。 它的構(gòu)造函數(shù)帶有一個(gè)可選的參數(shù):
一個(gè)字典映射變量和它們的值。 調(diào)用 Template 對(duì)象 的 render() 方法并傳遞context來(lái)填充模板:
>>> from django.template import Context, Template
>>> t = Template('My name is {{ name }}.')
>>> c = Context({'name': 'Stephane'})
>>> t.render(c)
u'My name is Stephane.'
在views.py中:
return render(request, 'blog_add.html', {'blog': blog, 'form': form, 'id': id, 'tag': tag})
2. django中的render_to_response
return render_to_response('blog_add.html', {'blog': blog, 'form': form, 'id': id, 'tag': tag})
很明顯,如果使用render_to_response就省去了render里傳遞的request。
3. locals()用法:locals()可以直接將函數(shù)中所有的變量全部傳給模板。當(dāng)然這可能會(huì)傳遞一些多余的參數(shù),有點(diǎn)浪費(fèi)內(nèi)存的嫌疑。
return render(request, 'blog_add.html', locals())
return render_to_response('blog_add.html', locals())