三、自动化测试平台搭建-django-如何用mysql数据库做web项目

前景:django自带的数据库是sqlite3,这是一种轻量级数据库,一般用于手机中,web项目用的大多数还是mysql,这次做一个项目‘图书-英雄’信息管理

1、在家目录下的Desktop创建一个文件夹,在这个文件夹下创建一个名为pytest1虚拟环境(第一篇已经说过怎么安装虚拟环境)

(1)cd ~/Desktop

  (2)mkdir project_1

(3)mkvietualenv -p python3.5 pytest1  #创建虚拟环境

(4)workon pytest1 #进入虚拟环境

(5)pip install django=1.8.2 #在虚拟环境中安装需要的包

(6)django-admin startproject test2  #创建项目test2

(7)cd test2

(8)python manage.py startapp booktest  #创建应用booktest,图书信息

(9)将应用与项目关联,修改如下图

 

2、django框架默认使用sqlite3数据库,如何让他使用MySQL数据库呢?看下图

配置代码:

DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.mysql‘,
        ‘NAME‘: ‘test2‘, #数据库名字,
        ‘USER‘: ‘root‘, #数据库登录用户名
        ‘PASSWORD‘: ‘mysql‘, #数据库登录密码
        ‘HOST‘: ‘localhost‘, #数据库所在主机
        ‘PORT‘: ‘3306‘, #数据库端口
    }
}

3、上面的配置中,数据库test2在django框架下不会自动创建,所以我们要手动进入MySQL数据库去创建     进入终端    (1)sudo mysql service start  #启动mysql                 (2)mysql -uroot -p密码  #连接mysql                 (3)create database test2 charset=utf8;#创建test2数据库

 4、定义模型类(上一篇讲过)

  • 模型类被定义在"应用/models.py"文件中,此例中为"booktest/models.py"文件。
  • 模型类必须继承自Model类,位于包django.db.models中。
  • 提示:对于重要数据使用逻辑删除。

实例演示:

  (1)打开booktest/models.py,定义模型类如下:

from django.db import models

#定义图书模型类BookInfo
class BookInfo(models.Model):
    btitle = models.CharField(max_length=20)#图书名称
    bpub_date = models.DateField()#发布日期
    bread = models.IntegerField(default=0)#阅读量
    bcomment = models.IntegerField(default=0)#评论量
    isDelete = models.BooleanField(default=False)#逻辑删除

#定义英雄模型类HeroInfo
class HeroInfo(models.Model):
    hname = models.CharField(max_length=20)#英雄姓名
    hgender = models.BooleanField(default=True)#英雄性别
    isDelete = models.BooleanField(default=False)#逻辑删除
    hcomment = models.CharField(max_length=200)#英雄描述信息
    hbook = models.ForeignKey(‘BookInfo‘)#英雄与图书表的关系为一对多,所以属性定义在英雄模型类中

(2)生成迁移文件

终端执行命令:python manage,py makemigrations

生成迁移文件的时候出现错误,把数据库切换成了mysql,需要安装pymysql模块之后,Django框架才可以操作mysql数据库。安装命令:pip install pymysql -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

安装成功之后,在test2/_init_.py文件中加上如下代码:

import pymysql
pymysql.install_as_MySQLdb()

然后执行如下命令:

python manage.py makemigrations  #生成迁移文件:根据模型类生成创建表的迁移文件

python manage.py migrate   #.执行迁移:根据第一步生成的迁移文件在数据库中创建表

(3)进入数据库查看有没有生成表

        

    (4)在数据库命令行中,复制如下语句执行,向booktest_bookinfo表中插入测试数据:     

insert into booktest_bookinfo(btitle,bpub_date,bread,bcomment,isDelete) values
(‘射雕英雄传‘,‘1980-5-1‘,12,34,0),
(‘天龙八部‘,‘1986-7-24‘,36,40,0),
(‘笑傲江湖‘,‘1995-12-24‘,20,80,0),
(‘雪山飞狐‘,‘1987-11-11‘,58,24,0);

      再复制如下语句执行,向booktest_heroinfo表中插入测试数据:

insert into booktest_heroinfo(hname,hgender,hbook_id,hcomment,isDelete) values
(‘郭靖‘,1,1,‘降龙十八掌‘,0),
(‘黄蓉‘,0,1,‘打狗棍法‘,0),
(‘黄药师‘,1,1,‘弹指神通‘,0),
(‘欧阳锋‘,1,1,‘蛤蟆功‘,0),
(‘梅超风‘,0,1,‘九阴白骨爪‘,0),
(‘乔峰‘,1,2,‘降龙十八掌‘,0),
(‘段誉‘,1,2,‘六脉神剑‘,0),
(‘虚竹‘,1,2,‘天山六阳掌‘,0),
(‘王语嫣‘,0,2,‘神仙姐姐‘,0),
(‘令狐冲‘,1,3,‘独孤九剑‘,0),
(‘任盈盈‘,0,3,‘弹琴‘,0),
(‘岳不群‘,1,3,‘华山剑法‘,0),
(‘东方不败‘,0,3,‘葵花宝典‘,0),
(‘胡斐‘,1,4,‘胡家刀法‘,0),
(‘苗若兰‘,0,4,‘黄衣‘,0),
(‘程灵素‘,0,4,‘医术‘,0),
(‘袁紫衣‘,0,4,‘六合拳‘,0);

原文地址:https://www.cnblogs.com/lz-tester/p/10280248.html

时间: 2024-10-08 02:23:34

三、自动化测试平台搭建-django-如何用mysql数据库做web项目的相关文章

django 中连接mysql数据库的操作步骤

django中连接mysql数据库的操作步骤: 1 settings配置文件中 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'orm02', # 库的名字 'USER':'root', # 数据库的用户名 'PASSWORD':'666', # 数据库的密码 'HOST':'127.0.0.1', 'PORT':3306, } } 2 项目文件夹下的init文件中写上下面内容,用pymysql替

django配置使用mysql数据库运行报错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

今天在把django的默认数据库sqlite3切换为MySQL数据库时报错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb' 报错原因:django虚拟环境没有安装pymysql模块 解决: 先安装pymysql:pip install pymysql 然后在项目的 init.py 文件中添加以下代码: 把django的默认数据库sqlite3切

基于Jax-WS和Mysql数据库的WEB服务开发

基于Jax-WS和Mysql数据库的WEB服务开发 1 简介 近几年来,SOA,EAI等架构体系的日渐成熟,Webservice越来越炽手可热,尤其是在企业做异质平台整合时成为了首选的技术.Java的Webservice技术更是层出不穷,比较流行的有:Axis2,XFire以及JaxWS. JAXWS适合几乎所有Webservice客户端的调用,因此不少巨头型的厂商如:IBM,Weblogic等,在他们的产品上都使用了以JAXWS为标准的Webservice接口. 另外,由于实验室的项目目前采用

Ubuntu jsp平台使用JDBC来连接MySQL数据库

Ubuntu 7.04 搭建Ubuntu jsp平台开发环境MySQL+tomcat+apache+j2sdk1.6在所有安装开始前先在Terminal中输入 rpm -q -a查看是否安装过rpm 和 rpm包的所需软件如果没有安装rpm在Terminal中输入 sudo apt-get install rpm. AD:2014WOT全球软件技术峰会北京站 课程视频发布 你们知道什么是Ubuntu jsp平台么这个非常高深的运用技术将由我来非常讲解,Ubuntu jsp平台NB在哪呢,下面我来

lamp or lnmp 环境搭建之独立安装mysql数据库

lamp or lnmp 环境搭建,如果mysql 是独立安装的则需要授权: 单独一台服务器独立安装mysql 安装后,优化服务器. 授权 实例如下: 创建用户 CREATE USER demo IDENTIFIED BY "passwd123"; 授权使用mysql数据库下面的所有表 GRANT ALL PRIVILEGES ON mysql.* TO 'demo'@'%'IDENTIFIED BY 'passwd123'WITH GRANT OPTION; FLUSH PRIVIL

如何在Django中配置MySQL数据库

直接上图 在项目中直接找到settings 文件 第一步       原始Django自带数据库 第二步将配置改成MySQL的数据 第三步  在__init__文件中告知Django使用MySQL数据库 第四步   连接MySQL 第五步  填写添加数据库必须填写的内容 然后就连上了数据库 原文地址:https://www.cnblogs.com/tangda/p/10740793.html

django python3 实例 mysql数据库

views.py中代码: def show_all_user(req): num=1 if 'pagenum' in req.POST: num=req.POST['pagenum'] tlist=User.objects.all() p=Paginator(tlist,30) page=p.page(num) return render_to_response('show_all_user.html',{'all_user':page.object_list,'pagenum':num,'to

在 Django 中构建 mysql 数据库支持的 Web 应用程序(linux )

运行: python 若出错说明系统没有按装python否则可越过安装python这步安装python下载 wget http://python.org/ftp/python/2.7/Python-2.7.tar.bz2 tar -jxvf Python-2.7.tar.bz2 cd Python-2.7 ./configure make all make install 安装Django下载 wget https://www.djangoproject.com/m/releases/1.8/D

django中使用mysql数据库

django连接mysql 安装MySQL 1 linux: apt install mysql-server apt install mysql-client mysql_secure_installation 2 安装好之后,配置防火墙,允许3306,并且,mysql配置允许任何ip访问,阿里云哪些服务器要到控制台设置3306通过, 3 进入django项目的setting.py文件下, DATABASES = { 'db1': { 'ENGINE': 'django.db.backends