Views
2017-05-27 22:09
351 查看
Views
Django中views里面的代码就是一个一个函数逻辑, 处理客户端(浏览器)发送的HTTPRequest, 然后返回HTTPResponse,path #请求页面的全路径,不包括域名 method #请求中使用的HTTP方法的字符串表示。全大写表示。如: if Request.method=='GET': pass elif request.method=='POST': pass GET #包含所有HTTP GET参数的类字典对象 POST #包含HTTP POST参数的类字典对象 #服务器收到空的POST请求的情况也是可能发生的,也就是说,表单form通过 # HTTP POST方法提交请求,但是表单中可能没有数据,因此不能使用 # if req.POST来判断是否使用了HTTP POST 方法;应该使用 if req.method=="POST" COOKIES: #包含cookie的标准Python字典对象;keys和values都是字符串 FIlES: #包含所有上传文件的类字典对象;FILES中的每一个Key都是<input type='file' name=''/> name属性的值,FILES中的每一个values同时也是一个标准的Python字典对象,包含下面三个keys: # filesname:上传文件名,用字符串表示 # content_type:上传文件的Content_type # content:上传文件的原始内容 user #是一个Django.contrib.auth.models.User对象,代表当前登录的用户,如果访问用户当前没有登录,user将被初始化为django。contrib.auth.models.AnonymousUser的实例。你可以通过user的is_authenticated()方法来辨别用户是否登录:if req.user.is_authenticated();只有激活django中的AuthentionMiddleware时该属性才可用 session: #唯一可读写的属性,代表当前回话的字典对象;自己有激活django中的session支持时该属性才可用 #方法 get_full_path(): #比如http://127.0.0.1:8000/index33/?name=123 #req.get_full_path()得到的结果就是/index33/?name=123 req.path --> /index33
View Code
注意一个常用方法:
request.POST.getlist('key') #django中同通过getlist() 接收页面form的post数组 #如果使用request.POST.get('key')方法,只能获得数组的最后一个元素,必须使用getlist才能获取整个数组,以Python列表的形式返回所请求键的数据。 若键不存在则返回空列表。 它保证了一定会返回某种形式的list。
2、HttpResponse对象:
对于HttpRequest对象来说,是由django自动创建的,但是,httpResponse对象就必须我们自己创建,每个view请求处理方法必须返回一个HttpResponse对象。
HttpResponse类在django.http.HttpResponse
在HttpResponse对象上扩展的常用方法:
页面渲染: render()(推荐) render_to_response() 页面跳转: redirect("路径") locals(): 可以直接将函数中所有的变量传给模板
相关文章推荐
- Redo Log Data Dictionary Views
- Invalidate()与UpdateAllViews()的区别(转载)
- Why Use Views
- 使用Views创建Activity的UI
- Views and URLconfs(The Definitive Guild to Django)
- 关于CCK和Views
- ASP.NET MVC 3 (Implementing Edit, Details, and Delete Views)
- Only the original thread that created a view hierarchy can touch its views错误
- 一起谈.NET技术,也玩MVC3.0 Razor自定义视图引擎来修改默认的Views目录结构
- API Demos 2.3 学习笔记 (14)-- Views->Progress Bar
- iPhone: Maintain visibility of form inputs – auto-scrolling views【保持表单输入的可视性 - 自动滚动】
- SQL Server 2008 R2 System Views Map
- Tumblr Architecture - 15 Billion Page Views a Month and Harder to Scale than Twitter
- Hello Views之Spinner(yaozq翻译,仅供参考)
- 二、理解Models,Views,Controllers
- Daily used tables, views in ORACLE SQL
- Android ApiDemos示例解析(98):Views->Animation->Shake
- Android ApiDemos示例解析(111):Views->Data Widgets->2. Inline
- Android ApiDemos示例解析(123):Views->ImageButton
- Android ApiDemos示例解析(133):Views->Layouts->Baseline->1.Top