1. django中的render
context在Django里表現為 Context 類,在 django.template 模塊里。 它的構造函數帶有一個可選的參數:
一個字典映射變量和它們的值。 調用 Template 對象 的 render() 方法並傳遞context來填充模板:
>>> 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()可以直接將函數中所有的變量全部傳給模板。當然這可能會傳遞一些多余的參數,有點浪費內存的嫌疑。
return render(request, 'blog_add.html', locals())
return render_to_response('blog_add.html', locals())