测试开发进阶(二十一)

测试开发进阶(二十一)

欢迎关注我的公众号「测试游记」

开发模式

前后端不分离

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

前后端分离

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

    接收参数

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

request.GET

request.GET.get('xxx')

request.GET.getlist('xxx')

form表单

使用Postman发起请求

postman发请求

调试代码

调试

调试

GET类似

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

get

getlist

json格式

使用postman发送json格式

json格式

body

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

转化

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

url路径参数

projects/urls.pyurlpatterns中添加

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

int 为路径参数类型转换器

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

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

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

路径参数

返回Json

1
2
3
4
5
6
7
8
9
# 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后创建一个数据库

Navicat

新建一个用户

新建用户

修改权限

修改权限

需要使用专业版!

连接数据库

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

连接测试

显示databases

安装连接库

image-20190925220311323

修改LearnDjango/settings.py配置

1
2
3
4
5
6
7
8
9
10
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 指定引擎
'NAME': 'my_django', # databases名
'USER': 'my_django', # 数据库用户名
'PASSWORD': '123456', #数据库密码
'HOST': 'localhost', # 主机IP
'PORT': 3306 #连接端口
}
}
 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
您的支持将鼓励我继续创作!