python之Django框架篇-进阶三

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27695659/article/details/85056290
1. 视图(接收请求返回响应那部分)
		1. CBV(class base view)和FBV(function base view)
	
		2. request对象
			1. 之前学过的
				1. request.method    --> 获取请求的方法(GET、POST等)
				2. request.GET       --> 通常用来获取URL里面的参数  
					127.0.0.1:8000/edit_book/?id=1&name=yimi
					request.GET --> {"id":1, "name":"yimi"}
					request.GET.get("id")
				3. request.POST      --> 用来获取POST提交过来的数据
					request.POST.get("book_name")
			2. 补充其他常用的:
				1. request.path_info   --> 获取用户请求的路径(不包含IP和端口和URL参数)
				2. request.body     
	
		3. response
			基础必备三件套(求学要严谨)
			1. HttpResponse        --> 返回字符串内容
			2. render              --> 返回一个html页面             
			3. redirect            --> 返回一个重定向(告诉浏览器再去访问另外的网址)
			
			4. JsonResponse
			
	2. 路由系统(urls.py)  https://blog.csdn.net/qq_27695659/article/details/85056290
		1. 正则表达式的模糊匹配
		2. 分组匹配        --> 相当于给视图函数传递位置参数
		3. 分组命名匹配    --> 相当于给视图函数传递关键字参数
			(两个不要混合使用)
			
---------------------------- 这里是坎 ------------------------------------
			
		4. 反向解析URL
			本质上就是给url匹配模式起别名,然后用过别名拿到具体的URL路径
			
			1. 怎么起别名?
				在url匹配模式中,定义name="别名"
			2. 如何使用?
				1. 在模板语言里面使用:
					{% url "别名" %}  --> 得到具体的URL路径
				2. 在视图中如何使用:
					from django.urls import reverse
					
					reverse("别名")  --> 得到具体的URL路径
			3. 如何传参数?
				1. 模板语言中:
					{% url "别名" 2018 "nb" %}
				2. 视图函数中
					传位置参数:
						reverse("别名", args=(2018, "nb"))
				
					传关键字参数:
						reverse("别名" kwargs={"year": 2018, "title": "nb"})
			4. namespace
				为了防止不同的app下面的url匹配模式有重复的别名

猜你喜欢

转载自blog.csdn.net/qq_27695659/article/details/85056290