Django框架基础学习(一)

1.获取表单数据

步骤:

  1. 创建类视图
from django.views import View

class FromDataView(View):
   # 注意:获取的数表单数据所以用POST
   def post(self,request):
   	name = request.POST.get('name')
   	age = request.POST.get('age')
   return HttpResponse('{}---{}',format(name,age))
  1. 注册视图
urlpatterns = [
	# 注册视图,获取表单数据
	re_path(r"^FromData/$",views.FromDataView.as_view())
]
  1. 交互postman获取数据

在这里插入图片描述

2.获取json数据

步骤:

  1. 创建类视图
class JsonDataView(View):
	# 获取json数据
	def post(self,request):
		# 获取原始body数据
		json_body = request.body
		# 把数据转换为字典,这样后面就可以直接get获取了
		json_dict = json.loads(json_body)
		# 用get直接获取数据
		name = json_dict.get('name')
		age = json_dict.get('age')
  1. 注册视图
urlpatterns = [
	# 注册视图,获取json数据
	re_path(r'^JsonData/$',views.JsonDataView.as_view())
]
  1. postman 测试
    在这里插入图片描述

3.提取路径数据

使用path的时候,用路由转换器


步骤:
  1. 创建视图
class UrlPathDataView(View):
	# 获取url路径里的数据信息
	def get(self,request,age1):
		return HttpReponse('{}'.format(age1))
  1. 注册视图
    注意:注册时使用转换器里的变量名要和视图函数里获取数据的变量名一致
    在这里插入图片描述
urlpatterns = [
	# 注册时使用注册器int
	path('urlData/<int:age1>/',views.UrlPathDataView.as_view()),
]
  1. postman测试
    在这里插入图片描述

4.自定义转换器

步骤:

  1. 在工程目录下创建converters.py
    在这里插入图片描述
  2. 在converters.py文件里写自定义的转换器
class MobileConverters:
	# 匹配手机号的转换器
	regex = '1[3-9]\d{9}'
	
	def to_python(self,value):
		return int(value)
	
	def to_utl(self,value):
		return str(value)
  1. 在工程里的urls.py里把转换器注册
    在这里插入图片描述
  2. 注册视图
urlpatterns = [
	# 使用自定义转换器
	re_path(r'^mobiledata/(?P<phone_num>1[3-9]\d{9})/$',views.MobileDataView.as_view())
]
  1. postman测试

在这里插入图片描述

5.获取请求头信息和其他信息

步骤:

  1. 创建视图,获取请求信息和其他信息
class HeadDataView(View):
	def get(self,request):
		# 获取信息类型
		type = request.META.get('CONTENT_TYPE')
		# 获取Cookie
		cookie = request.COOKIES
		# 获取上传的文件信息
		file = request.FILES
		# 获取路径
		path = request.path
		# 获取请求方式
		method = request.method
		# 获取用户信息
		user = request.user
		print(type,cookie,file,path,method,user)
	return HttpResponse('成功')
  1. 注册视图
urlpatterns = [
	# 获取请求头数据
	re_path(r'^Hdata/$',views.HeadDataView.as_view())
]
  1. 控制台测试
    在这里插入图片描述

6.json响应格式

步骤:

  1. 创建一个子应用,完成配置信息
命令:python manage.py startapp 子应用名称

1.注册安装子应用,添加到工程目录里的setting文件中的INSTALLED_APPS列表里:'responseapp.apps.ResponseappConfig'2.再将子应用的路由添加到总路由文件中
urlpatterns = [
	path('resapp/',include('responseapp.urls'))
]
  1. 在子应用里创建视图
class TestResponse(View):
	def get(self,request):
		res = Httpreponse('qwer',status=200)
		return res
	
	def post(self,request):
		data_dcit = {
			'name':'xiaoming',
			'age':20
		}
		jres = JsonResponse(data_dict)
		return jres
  1. 注册视图
urlpatterns = [
	path('rdata/',views.TestResponse.as_view()),
]
  1. postman测试
    在这里插入图片描述

7.重定向

步骤:

  1. 创建视图
class IndexView(view):
	# 主页视图
	def get(self,request):
		return HttpReponse('这里是主页')

class LoginVIew(View):
	# 登录视图
	def post(self,request):
		return redirect('/resapp/index')
  1. 注册路由
urlpatterns = [
	# 主页
	path('index/',views.IndexView.as_view()),
	# 登录逻辑
	path('login/',views.LoginVIew.as_view()),
]
  1. postman测试
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值