04.Django-视图与路由

python学习网 2020-05-31 15:39:01

视图层

1. HTTP请求

HttpRequest对象

request.path			#使用GET方法时,只会得到路径。
request.get_full_path()         #使用GET方法时,会得到包括路径和?,=等信息的全路径
request.method  		#客户端请求网页的HTTP方法:POST或GET
request.GET     		#包含所有HTTP请求的GET方法的类字典对象
request.POST			#包含所有HTTP请求的POST方法的类字典对象
request.COOkIES 		#包含cookies的字典对象,其键和值都是字符串
request.sessions		#唯一可读写的类字典对象,表示与服务端的当前会话信息
request.body			#POST原始数据,用于对数据的复杂处理
request.has_key()		#布尔值,标识request.GET或request.POST是否包含指定的键
request.is_secure()		#客户端发出的请求是否安全
request.user			#代表当前登录的用户的django.contrib.auth.models.User对象

request.FILES			#通过表单上传的文件的类字典对象
      |--> request.FILES.get('filename')	#上传文件的文件名
      |--> request.FILES.get('content_type') 	#上传文件的内容原型
      |--> request.FILES.get('content')		#上传文件的原始内容
    
META		#一个包含所有有效的HTTP头信息的字典
      |--> content_length	#所接收的数据的长度
      |--> content_type		#所接收的数据的类型
      |--> query_string		#接收的原始请求字符串
      |--> remote_addr		#客户端的IP地址
      |--> remote_host		#客户端的主机名称
      |--> remote_name		#服务端的主机名
      |--> remote_port		#服务端的端口号
      |--> http_host		#客户端发送的HOST头部信息
      |--> http_referer		#被指向的页面
      |--> http_user_agent	#客户端使用的浏览器的信息
      |--> http_x_bender	#X_bender头信息

2. HTTP响应

HttpResponse对象

locals()		#把视图函数中所有的变量传给模板
# 方法:
redirect()		#重定向方法,跳转到另一个页面
HttpResponse()	        #返回一个字符串给客户端
render()		
	|--> template_name	# 必选参数	模板名字
    |--> context		# 可选参数	开发人员可以添加一个字典信息到模板中,用来提示用户,默认是一个空字典
    |--> content_type	        # 可选参数	MIME类型用于生成文档
    |--> status			# 可选参数	响应状态代码,默认值200
    |--> useing			# 可选参数	用于加载模板的模板引擎的名称

路由

#单一路由分配
url(r"^index$",views.index)			
#基于正则的路由分配
url(r"^index/(\d*)",views.index)	
url(r"^index/(?P<name>\w)/(?<id>\d)",views.index)
#添加额外的参数
url(r"^manage/(?P<name>\w)",views.manage,["id":333])
#路由映射设置名称
url(r"^home",views.home,name="h1")
url(r"^index/(\d)",views.home,name="h2")
#路由分支
url(r"^blog/",include("blog.urls"))
阅读(2009) 评论(0)