21_django配置使用mysql数据库的两种方式

目录

  • 配置django项目使用mysql数据库的两种方式

    • 1. 直接在settings.py 文件中添加数据库配置信息
    • 2. 将数据库配置信息存到一个文件中,在settings.py文件中将其引入。(推荐)
  • 安装mysql驱动
    • 1. 使用mysqlclient *推荐
    • 2. 使用pymysql django2.2以上版本默认不支持使用了

配置django项目使用mysql数据库的两种方式

1. 直接在settings.py 文件中添加数据库配置信息

# 配置数据库的第一种方式
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',     # 数据库引擎
        'NAME': 'cheng_pro',                      # 数据库名称
        'USER': 'cheng',                          # 数据库登录用户名
        'PASSWORD': 'yanyan',                     # 密码
        'HOST': '127.0.0.1',                      # 数据库主机IP, 默认为127.0.0.1
        'PORT': 3306                              # 数据库端口号 , 默认为3306
    }
}

2. 将数据库配置信息存到一个文件中,在settings.py文件中将其引入。(推荐)

  1. 新建数据库配置文件mysql.cnf(名字随意) # 配置文件内容如下:

    [client]
    database = cheng_pro
    user = cheng
    password = yanyan
    host = 127.0.0.1
    port = 3306
    default-character-set = utf8
  2. 在settings.py文件中引用使用它
    # 配置数据库的第二种方式
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',     # 数据库引擎
            'OPTIONS': {
                'read_default_file': 'utils/dbs/mysql.cnf'     # 读取数据库配置文件
            }
        }
    }

安装mysql驱动

1. 使用mysqlclient *推荐

pip install mysqlclient
pip install -i https://pypi.douban.com/simple mysqlclient   # 使用douban源安装

如果安装mysqlclient报错,则需要安装mysqlclient的依赖 : default-libmysqlclient-dev

sudo apt update     # 先更新软件包列表
sudo apt install default-libmysqlclient-dev    # 安装依赖

2. 使用pymysql django2.2以上版本默认不支持使用了

安装pymysql,并且需要在settings.py文件所在包中的__init__.py中导入pymysql

pip install -i https://pypi.douban.com/simple pymysql
import pymysql
pymysql.install_as_MySQLdb()

原文地址:https://www.cnblogs.com/nichengshishaonian/p/11541261.html

时间: 2024-08-05 19:37:39

21_django配置使用mysql数据库的两种方式的相关文章

scrapy数据存储在mysql数据库的两种方式

方法一:同步操作 1.pipelines.py文件(处理数据的python文件) import pymysql class LvyouPipeline(object): def __init__(self): # connection database self.connect = pymysql.connect(host='XXX', user='root', passwd='XXX', db='scrapy_test') # 后面三个依次是数据库连接名.数据库密码.数据库名称 # get c

C++连接mysql数据库的两种方法

现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接mysql的方法.可以通过2种方法实现. 第一种方法是利用ADO连接, 第二种方法是利用mysql自己的api函数进行连接. 第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的

Android开发之使用sqlite3工具操作数据库的两种方式

使用 sqlite3 工具操作数据库的两种方式 请尊重他人的劳动成果,转载请注明出处:Android开发之使用sqlite3工具操作数据库的两种方式 http://blog.csdn.net/fengyuzhengfan/article/details/40193123 在Android SDK的tools目录下提供了一"sqlite3.exe工具,它是一个简单的SQLite数据库管理工具,类似于MySQL提供的命令行窗口在有些时候,开发者利用该工具来査询. 管理数据库. 下面介绍两种方式: 第

springmvc和servlet下的文件上传和下载(存文件目录和存数据库Blob两种方式)

项目中涉及了文件的上传和下载,以前在struts2下做过,今天又用springmvc做了一遍,发现springmvc封装的特别好,基本不用几行代码就完成了,下面把代码贴出来: FileUpAndDown.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"%> <html> <head> <title>using commons Uplo

System.Web.Http.Cors配置跨域访问的两种方式

System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心得.在webapi中使用System.Web.Http.Cors配置跨域信息可以有两种方式.  一种是在App_Start.WebApiConfig.cs的Register中配置如下代码,这种方式将在所有的webapi Controller里面起作用. using System; using Sys

springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)

参与该项目的文件上传和下载.一旦struts2下完成,今天springmvc再来一遍.发现springmvc特别好包,基本上不具备的几行代码即可完成,下面的代码贴: FileUpAndDown.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"%> <html> <head> <title>using commons Upload to

Code First03---CodeFirst根据配置同步到数据库的三种方式

上一节我们说到使用Fluent API对实体的配置,但是有一个问题了,在业务中我们可以用到的实体很多,那是不是每个都需要这样去配置,这样就造成我们重写的OnModelCreating方法很庞大了.所以我们需要更好的组织Fluent API的配置. 我们知道modelBuilder的Entity<T>泛型方法的返回值是EntityTypeConfiguration<T>泛型类. 所以我们可以定义一个继承自EntityTypeConfiguration<T>泛型类的类来定义

论MySQL数据库中两种数据引擎的差别

InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定. 基本的差别为: MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持. MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能. MyIASM是IASM表的新版本,有如下扩展: 二进制层次的可移植性. NULL列索引. 对变长行比ISAM表有更少的碎片. 支持大文件. 更好的索引压缩. 更好的键吗统计分布.

jsp中使用动态数据进行mySQL数据库的两种操作方法

使用动态数据进行数据库内容的增删改查操作有两种方法: 在此定义数据库连接为conn 假设有表单进行数据输入并提交到处理页面一种是使用预编译格式: 其格式如下: String name = request.getParameter("name");//获取前页表单中name为name的值 String password = request.getParameter("password");//获取前页表单中name为password的值 String sql = &q