Django中调用模板的方法

django中从views.py函数调用模板有下面几种方法
1.render_to_response(template[, dictionary][, context_instance][, mimetype])
这个函数定义在django.shortcuts中。
template是模板名,要包含路径的,这个路径是加在django查找路径之后的路径;dictionary是传递给模板的模板变量值,键名是模板中的变量名,键值是模板中的变量值;context_instance主要是用来传递给模板RequestContext对象的(如果需要的话);mimetype是模板的MIME类型。
2.HttpResponseRedirect
这个类定义在django.http中。
这是一个HttpResponse的子类,使用他调用模板就相当于return了一个HttpResponseRedirect对象,象这样 return HttpResponseRedirect('***'),这里***是url路径。如果***为/就指的是127.0.0.1,如果***为/abc /就指的是127.0.0.1/abc/。这种方法其实相当于重定向了url,并没有直接调用模板。
3.redirect(to[, permanent=False], *args, **kwargs)
这个函数是django1.1中新加的,他定义在django.shortcuts中。
这个函数函数的参数如果是一个model,那么这个model的get_absolute_url()函数将被调用;如果是一个view的名字,urlresolvers.reverse()将会被用来反向解析这个名字;如果是一个url,将会重定向到这个url。
4.也可以直接return一个HttpResponse对象。
HttpResponse也是定义在django.http中的。
直接返回一个HttpResponse对象的话,这个对象中应该有模板和模板中的变量。用法如下:
t = loader.get_template('polls/index.html')
c = Context({
    'latest_poll_list': latest_poll_list,
    })
return HttpResponse(t.render(c))
5.generic views
django.views.generic.simple.direct_to_template
django.views.generic.simple.redirect_to
django.views.generic.list_detail.object_list
django.views.generic.list_detail.object_detail

你可能感兴趣的:(python,work,record)