第5章 URL,HTTP机制和视图
来源:互联网 发布:js简易计算器 编辑:程序博客网 时间:2024/06/03 18:28
csrftokenQKrHLaRIXhoAdeMYSOvkvmqVLXv5nyoZRVqme5fbsEf7F1nhT3oKFSmtp6wYSluEsessionidftlkhm23nvo1t2einsfqjpxyyt860mvm<WSGIRequest: GET '/blog/?title=dd&body=ddd'>---------------------{'csrftoken': 'QKrHLaRIXhoAdeMYSOvkvmqVLXv5nyoZRVqme5fbsEf7F1nhT3oKFSmtp6wYSluE', 'sessionid': 'ftlkhm23nvo1t2einsfqjpxyyt860mvm'}---------------------<class 'django.core.handlers.wsgi.WSGIRequest'><QueryDict: {u'body': [u'ddd'], u'title': [u'dd']}>dddddCookies和会话(Session):说完了GET和POST,请求对象里接下来最常用的就是request.COOKIES,它也是一个字典,代表了存储在请求里的HTTP cookies.cookies是网页里一种在用户浏览器里存放持久化信息的手段---大多数网站的认证系统都会用到它。通常来说,大多数cookies都是用来支持一个叫做会话(session)的特性,这代表一个网页可以向浏览器要求一个能标识用户的值(这个信息可以在用户首次连接网站或是登陆的时候设置),然后用这个信息来为那个用户提供定制行为的页面。由于cookies在客户端可以被轻易修改,所以存放关键数据是很不安全的,大多数网站都会选择把信息存放在一个服务器端的会话对象里 只在cookies里保留一个唯一的会话ID。其他服务器变量:前面讲到的都是请求对象是最常用的属性,不过请求对象里还有很多其他变量,这些变量都是只读的。path:URL 里域名后的部分,例如,/blog/2007/1/04,这个通常也是URLconf要处理的字符串: print req.COOKIES print req.path{'csrftoken': 'QKrHLaRIXhoAdeMYSOvkvmqVLXv5nyoZRVqme5fbsEf7F1nhT3oKFSmtp6wYSluE', 'sessionid': 'ftlkhm23nvo1t2einsfqjpxyyt860mvm'}/blog/method:"GET"或"POST" 两者之一,表明了这个请求用的是哪一个HTTP请求方法{'csrftoken': 'QKrHLaRIXhoAdeMYSOvkvmqVLXv5nyoZRVqme5fbsEf7F1nhT3oKFSmtp6wYSluE', 'sessionid': 'ftlkhm23nvo1t2einsfqjpxyyt860mvm'}/blog/GET print req.COOKIES print req.path print req.methodencoding:表妹了用来解码表单提交数据所需的编码字符集的字符串:响应对象: 到此,你已经读入传递视图函数的信息了,现在我们来看看负责返回的响应。对我们来说,响应比请求更简单一点---。最常用的方法就是创建响应对象---HttpResponse接受一个字符串作为构造函数的参数,并将它保存到content里。 print '------------------------------------------' #return HttpResponse(template.render(context, req)) return HttpResponse("<html>this is a tiny web page!</html>")这样就有了一个完整的响应对象,可以返回给web服务器并转发给用户浏览器了。中间件:虽然Django应用程序的基本流程还是比较简单的(接受请求,找到适合的视图函数,返回响应),不过还可以在上面加注更多层次来变得更灵活强大。其中之一就是中间件(middleware)---这些Python函数可以在上述过程里的多个地方执行来改变整个应用程序的输入5.3 视图和逻辑:视图(也叫控制器)是所有Django Web应用程序的核心,因为它们提供了几乎所有的实际的程序逻辑。在定义和使用模型的时候,我们是数据库管理员,在编写模板的时候,我们是界面设计师,而在编写视图的时候,我们才是真正的软件工程师就是Python函数: 本质上来说,Django视图就是Python函数那么简单,对视图函数的唯一要求就是它们必须接收一个HttpRequest 对象并返回一个HttpResponse对象。
阅读全文
0 0
- 第5章 URL,HTTP机制和视图
- Django 中的Url、HTTP机制和视图
- 跟我一起Django - 05 URL HTTP机制和视图
- 第5章 URL和URI
- 第八章 高级视图和URL配置
- 第三章 视图和URL配置
- 第八章:高级视图和URL配置
- 第二章 视图和URL配置
- 第二章Djangos视图和URL配置
- 视图和URL配置
- Django-视图和URL配置
- 高级视图和URL配置
- 高级视图和URL配置
- Django:视图和URL配置
- Django -- 视图和URL配置
- Django 视图和url配置
- django视图和URL配置
- http和URL关系
- 关联查询
- Python编程:从入门到实践的动手试一试答案(第二章)
- 【转】POM文件org.apache.maven.archiver.MavenArchiver.getManifest错误
- linux服务器出现大量CLOSE_WAIT状态的连接
- Springboot使用FastJson后,接口返回中文乱码的问题解决(两种解决方式)
- 第5章 URL,HTTP机制和视图
- 【第十三周项目3】是否二叉排序树?
- mysql数据库开发常见问题及优化
- Javascript实现图片的预加载的完整实现
- 第十一周-项目五-迷宫问题之图深度优先遍历解法
- 微机接口实验二:存储器扩展实验
- 第十周——项目二—用二叉树求解代数表达式
- scikit-learn ImportError: DLL load failed: 找不到指定的模块
- NameError: name 'db' is not defined、NameError: name 'User' is not defined(关键词:flask/bug)