Python接口自动化测试(17):Django连接数据库
安装mysql
1.官方下载地址:https://dev.mysql.com/downloads/installer/
2.双击打开安装,选择用户自定义模式:custom
3.64位的电脑,就选择64位
4.Next到端口设置页面,默认是3306,可以修改
5.设置密码,默认的是用户名是:root,如果想增加用户,可以点击 Add User
6.设置mysql 的名称,自启动选项可不勾选
7.后面一直Next,直到Finish就完成了。
8.打开或者关闭mysql,在任务管理器-服务-右击开启或者关闭。
9.设置环境变量后,可以通过命令方式启动和关闭mysql
环境变量配置:找到mysql的安装路径-bin目录例如我的:D:\Tools\mysql\bin,添加到path路径
启动数据库:net start mysql80
关闭数据库:net stop mysql80
10.命令行进入mysql
因为我设置的端口号不是默认的3306,是3307因此进入mysql时需要加上端口号:mysql -P3307 -u root -proot123 -h127.0.0.1
不加端口的话,会一直提示输入密码不正确。
如果是默认的3306直接写入:mysql -u root -proot123 即可。
连接Navicat
Naicat 是直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建,组织,访问并公用信息。
傻瓜式安装即可,可以直接在网上找安装教程。
1.修改setting配置
DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'ENGINE':'django.db.backends.mysql', #将数据库换成mysql数据库 'HOST':'127.0.0.1', 'PORT':3307, 'NAME':'django_restful', #创建的数据库名称是该名称 'USER':'root', #用户名是root 'PASSWORD':'', #密码为空 'OPTIONS':{ 'isolation_level':None, 'init_command':"SET sql_mode='STRICT_TRANS_TABLES'", } } }
2.打开项目下的__init__.py添加如下代码
import pymysql pymysql.install_as_MySQLdb()
3.打开Navicat,新建mysql,输入的信息和setting.py文件里设置的一致,先点击连接测试,测试成功后,点击确定
4.创建Models,在models.py文件里添加如下内容,serializers.py和views.py文件导入创建的Users,Groups
from api.models import User,Group 并注释掉 from django.contrib.auth.models import User,Group
from django.db import models # Create your models here. class User(models.Model): username=models.CharField(max_length=100) email=models.CharField(max_length=100) group=models.CharField(max_length=100) def __str__(self): return self.username class Group(models.Model): name=models.CharField(max_length=100) def __str__(self): return self.name
5.数据库迁移
迁移之前先创建django_restful,不然会因为找不到这个数据库名称而报错
进入cmd中进行迁移: python manage.py makemigrations api
如果出现如下报错:
找到该路径下的operations这一报错第146行,将decode改成encode
再继续迁移,就不会报错了
继续执行: python manage.py migrate
6.查看数据库页面,含有user和group表,说明迁移成功了。
创建超级用户
python manage.py createsuperuser
设置用户名:root ,密码123456
登录后台
点击:http://127.0.0.1:8090/users/ 创建一个用户,然后查看数据库,数据可以同步存储到数据库中