测试开发进阶(二十一)

  • 2019 年 10 月 8 日
  • 筆記

开发模式

前后端不分离

  • 后端需要控制数据的展示
  • 前后端耦合比较高
  • 多终端复用性差
  • 任务区分不明显

前后端分离

  • 当前主流
  • 后端只对数据进行处理,只提供数据
  • 前端效率,页面由前端负责
  • 解耦和
  • 前后端同时开始开发,缩小业务上线周期

接收参数

url传参

访问:http://127.0.0.1:8000/index?a=1&b=2

调试代码

  • request.GET返回一个类字典的内容
  • 查询字符串参数,如果有多个相同的key,使用 request.GET.get('xxx')获取的是最后一个值
  • 使用 request.GET.getlist('xxx')可以获取到多个相同key值的参数

访问:http://127.0.0.1:8000/index/?a=1&b=2&a=3

form表单

使用 Postman发起请求

调试代码

GET类似

request.POST.get('a') # '3'  request.POST.getlist('a') # ['1','3']

json格式

使用 postman发送json格式

转化为python内容,使用 json模块的 loads

import json  r_dict = json.loads(request.body.decode())

url路径参数

projects/urls.pyurlpatterns中添加

path('<int:pk>/', views.IndexView.as_view()),

int为路径参数类型转换器

:左边被转换器,右边为参数别名

  • int
  • slug
  • uuid
class IndexView(View):      def get(self, request, pk):          return render(request, 'demo.html')

访问:http://127.0.0.1:8000/index/100/

返回Json

# projects/views.py  from django.http import JsonResponse  class IndexView(View):      def get(self, request):          data = {              'name': 'zx',              'age': 25,          }          return JsonResponse(data)

ORM框架

定义

  • 把类和数据表进行映射
  • 通过类和对象就能操作它所对应表格中的数据「增删改查」(CRUD)

步骤

  • 配置数据库连接信息
  1. 创建数据库和用户
  2. 配置数据库
  3. 安装mysqlclient
  • 在models.py中定义模型类
  • 迁移
  • 通过类和对象操作完成数据库增删改查操作

使用 Navicat连接 mysql后创建一个数据库

新建一个用户

修改权限

需要使用专业版!

点击 Downloadmissing driver files安装数据库连接软件

安装连接库

修改 LearnDjango/settings.py配置

DATABASES = {      'default': {          'ENGINE': 'django.db.backends.mysql', # 指定引擎          'NAME': 'my_django', # databases名          'USER': 'my_django', # 数据库用户名          'PASSWORD': '123456', #数据库密码          'HOST': 'localhost', # 主机IP          'PORT': 3306 #连接端口      }  }