• django-数据库[ 配置 ]


    os:mac, django1.9.5,  python3.5

    database:mysql

    0.背景

    django内置的database如下:

    要注意的是无论选择使用哪个数据库服务器,都必须下载和安装对应的数据库适配器

     

    表 1-1. 数据库引擎设置
    设置数据库适配器
    postgresql PostgreSQL psycopg 版本 1.x
    postgresql_psycopg2 PostgreSQL psycopg 版本 2.x
    mysql MySQL MySQLdb 
    sqlite3 SQLite Python 2.5+ 内建
    oracle Oracle cx_Oracle 

    1.安装

    我们选择mysql作为数据库服务器

    因为MySQLdb并不支持Python3.5,所以需要安装pymysql,作为django操作mysql的适配器。

    当然会有相应的小代价,在配置中会提到。

    pip install pymysql

    2.配置

    django中默认的数据库为sqlite3,即新建项目后配置文件(settings.py)中关于数据库的初始配置如下:

    1 DATABASES = {
    2     'default': {
    3         'ENGINE': 'django.db.backends.sqlite3',
    4         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    5     }
    6 }

    2.1 创建数据库

    首先,登录mysql,创建数据库mall

    create database mall default charset=utf8;

    2.2 给数据库创建用户

    然后,将数据库mall的所有权限分配给用户rinka,密码为rinka0414

    grant all privileges on mall.* to 'rinka'@'localhost' identified by 'rinka0414';

    2.3 配置

    最后在django中将配置改为:

     1 DATABASES = {
     2     'default': {
     3         'ENGINE': 'django.db.backends.mysql',
     4         'NAME': 'mall',
     5         'USER': 'rinka',
     6         'PASSWORD': 'rinka0414',
     7         'HOST': 'localhost',
     8         'PORT': '3306',
     9     }
    10 }

    其中:

    DATABASE_ENGINE 即为“背景”中所提到的那些数据库服务器

    DATABASE_NAME 将数据库名称告知 django

    DATABASE_USER 告诉 django 用哪个用户连接数据库

    DATABASE_PASSWORD 告诉django连接用户的密码

    DATABASE_HOST 告诉 django 连接哪一台主机的数据库服务器

    DATABASE_PORT 告诉 django 连接数据库时使用哪个端口

    2.4 小代价

    最最后一步记得在项目同名文件夹下的__init.py__中,加入:

    1 import pymysql
    2 pymysql.install_as_MySQLdb()

    否则会报错:

    django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

     

     

    3.运行

    python manage.py runserver

    能成功运行项目不报错,就说明数据库成功连接好啦

     

     

     


     

    总结

     

    django中的数据库配置:

     

    1.选择一个数据库服务器

     

    2.下载安装相应的适配器

     

    3.创建数据库

     

    4.在django的配置文件中配置数据库

     

  • 相关阅读:
    Spring(4)——面向切面编程(AOP模块)
    Spring(3)——装配 Spring Bean 详解
    Spring(2)——Spring IoC 详解
    Spring学习(1)——快速入门
    彼得原理(The Peter Principle)
    默菲定律 [Murphy's Law]
    EXTJS 表单提交
    在java 中,数组与 List<T> 类型的相互转换
    Eclipse 工作目录被破坏,导致Eclipse 打不开
    EXTJS 密码确认与验证
  • 原文地址:https://www.cnblogs.com/rinka/p/django_database_setting.html
Copyright © 2020-2023  润新知