python测试开发django-2 链接mysql
时间:2019-12-18
本文章向大家介绍python测试开发django-2 链接mysql,主要包括python测试开发django-2 链接mysql使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
数据库链接,上篇文章中简单对sqlite3进行了操作使用 (上篇:https://www.cnblogs.com/wfwt180801-/p/12044332.html)
Django 对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。本篇以mysql为例简单介绍django连接mysql进行数据操作
这里使用的mysql 版本为8.0.11 安装参考 https://www.cnblogs.com/wfwt180801-/p/10557292.html
PyMySQL 安装
pip install -i https://pypi.douban.com/simple PyMySQL 我这里使用了豆瓣源安装
项目目录仅供参考
django 数据库配置
settings.py 文件中找到 DATABASES 配置项, django默认连接sqllite
我们连接mysql需要账户密码,也就是之前安装mysql的root用户名,和自己设置的密码,NAME是数据库的名称,连接配置如下:
NAME:'DjangoModel' 对应库名
需要创建或指定现有库名
1.创建 djangoModel库
-create database DjangoModel charset=utf8;
-添加mysql驱动
-DAtabase —— + ——Data Source——mysql
-添加 库名,mysql账号密码,进行测试,确定添加,添加成功
-项目目录下初始化文件中模拟mysqldb ,这里使用pymysql
-需要安装pymysql
-pip install pymysql 我这的安装版本为Version: 0.9.3
-项目初始化文件路径...\DjangoModel\__init__.py文件
-import pymysql
-pymysql.install_as_MySQLdb()#
-执行迁移
-python manage.py migrate
至此打开mysql试图查看就可看到迁移过去的表数据
新建表,定义数据模型 ...\DjangoModel\App\models.py 中代码如下
#生成迁移文件、执行迁移生成数据库表
-python manage.py makemigrations
-生成的迁移文件在应用目录下migrations中 (...\DjangoModel\App\migrations)
-生成迁移文件报错
-生成迁移文件出错 No changes detected,说明在根目录中settings中没有注册子应用
E:\web_djo\hellodjango>python manage.py makemigrations
No changes detected
-如何注册?
-执行迁移
-python manage.py migrate
迁移后查看mysql视图中看到我们新建的表People
models 使用了orm技术
-object Relational Mapping 对象关系映射
-将业务逻辑进行了一个解耦合
-object.save()保存
-object.delete()删除
使用封装的模板类创建点数据
...\DjangoModel\App\urls.py
...\DjangoModel\App\views.py 文件中代码如下
urls.py
from django.conf.urls import url
from App import views
urlpatterns =[
url(r'^addpeople/',views.add_peole),
]
views.py
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
from App.models import Person
def add_peole(request):
for i in range(15):
people =Person()
flag=random.randrange(100)
people.p_naem = "Tom%d" % i
people.p_age=flag
people.p_sex=flag % 2
people.save()
return HttpResponse('批量创建成功')
启动项目 python manage.py runserver
浏览器访问 http://127.0.0.1:8000/App/addpeople/ 此时我可以看到给出的提示信息,批量创建成功
那么是否真的创建成功了呢?
打开mysql视图查看是否有数据,如果要是没有数据,点击刷新或者cmd/nvcat下切换库中查看是否有数据了
原文地址:https://www.cnblogs.com/wfwt180801-/p/12046574.html
- 4大分析工具的代码表白术,520花式秀恩爱!
- yaffsfs.c
- yaffs_bitmap
- 原创 | 实战:R环境下Echart的8种可视化
- Yarn(MapReduce 2.0)下分布式缓存(DistributedCache)的注意事项
- Yaffs_guts(三)
- 浅谈 python multiprocessing(多进程)下如何共享变量
- 文件地址映射之yaffs_GetTnode
- bash/shell 解析命令行参数工具:getopts/getopt
- ssh 双机互信:免密码登录设置步骤及常见问题
- yaffs_guts(一)
- 聊聊 Java 中 HashMap 初始化的另一种方式
- 基于 Hive 的文件格式:RCFile 简介及其应用
- MapReduce 计数器简介
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C#多线程委托ParameterizedThreadStart应用
- [Python爬虫]使用Selenium操作浏览器订购火车票
- IDEA多线程调试
- 为什么wait和notify方法要在同步块中调用?
- 一文说清楚Mysql Innodb的B+树索引原理及其推理过程
- [Oracle数据泵全解析]expdp交互式命令行模式命令
- SpringBoot Feign文件上传
- Docker_000
- 如何应对面试官的JVM调优问题
- Docker_001
- Docker_002
- [PyQt Tutorial]2.一个Hello World程序
- Oracle设置开机自启
- Go_学习之Docke容器
- zabbix 监控项