Django使用数据库(Mariadb/Mysql)
Django默认使用SQLite作为数据库,配置文件在settings.py
让我们来看一下
"""
Django settings for test1 project.Generated by 'django-admin startproject' using Django 2.1.4.For more information on this file, see
https://docs.djangoproject.com/en/2.1/topics/settings/For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.1/ref/settings/
"""import os# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'm5e#rg35zpd6m+ms*(rv0prfw#(()suuily9jr((-9dlq5b(j1'# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = TrueALLOWED_HOSTS = []# Application definitionINSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',
]MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',
]ROOT_URLCONF = 'test1.urls'TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'templates')],'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},
]WSGI_APPLICATION = 'test1.wsgi.application'# Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databasesDATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),}
}# Password validation
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validatorsAUTH_PASSWORD_VALIDATORS = [{'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',},{'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',},{'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',},{'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',},
]# Internationalization
# https://docs.djangoproject.com/en/2.1/topics/i18n/LANGUAGE_CODE = 'en-us'TIME_ZONE = 'UTC'USE_I18N = TrueUSE_L10N = TrueUSE_TZ = True# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/STATIC_URL = '/static/'
我们可以看到其中的
DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),}
}
就是默认的配置了,默认配置的SQLite数据库并不需要添加其它的东西
但是由于我们要使用Mysql/mariadb,所以我们要配置一些其他的东西,例如数据库地址、端口等
如何配置Mysql/Mariadb数据库
首先我们需要安装合适的database bindings,这里我们选择安装PyMySQL
打开设置
选择project
最上面我们可以选择使用本机安装的那个Python,点击右边的加号即可添加其它的包
点击+号,搜索pymysql,点击添加即可
安装成功示意
接下来我们要在外层的__init__.py文件中写入如下代码
import pymysqlpymysql.install_as_MySQLdb()
最后配置settings.py中的DATABASES部分就可以了
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'test','USER': 'root','PASSWORD':'密码','HOST':'localhost','PORT':'3306',}
}
各项配置解释
ENGINE
数据库引擎,可选项'django.db.backends.sqlite3','django.db.backends.postgresql','django.db.backends.mysql',或 'django.db.backends.oracle'等
NAME
数据库的名字
USER
数据库用户名
PASSWORD
数据库密码
HOST
数据库地址
PORT
数据库端口
修改时间
Django默认使用的是UTC时间,如果不修改的话在之后的使用中可能会遇到一些问题,因此这里不要忘记修改一下时间
修改settings.py文件中的TIME_ZONE即可
TIME_ZONE = 'UTC'
改为
TIME_ZONE = 'Asia/Shanghai'
测试数据库是否成功连接
进入外层目录也就是manage.py所在的目录,cmd命令行下执行以下命令
python manage.py migrate
出现如下命令,并且查看数据库新建了一些表,说明配置是正确的
注:生成的表可能不一样这个与settings.py 文件和每个应用的数据库迁移文件有关
Django使用数据库(Mariadb/Mysql)相关推荐
- python3 django配置数据库(mysql)
python3 django配置数据库(mysql)http://www.bieryun.com/3311.html python3 下的mysql驱动 django 连接mysql默认驱动是MySQ ...
- 数据库---MariaDB(MySQL)
因为我用的是XAMPP集成环境,之前自己迷迷糊糊瞎搞了半天.直接打开软件然后点击shell,然后会提示进入了MariaDB. 我看的教材是<零基础学PHP 第三版>,这与书本不一致,我只能 ...
- Django Sqlite3 数据库向MySQL迁移
整合了两个URL而来.. 1,http://www.phodal.com/blog/django-mezzanine-sqlite3-migrate-mysql/ 2,http://www.ziqia ...
- MariaDB/MySQL从数据库中选择随机的行
MariaDB/MySQL从数据库中选择随机的行 一个比较传统的做法是使用sql自带的rand函数,从而达到随机排序的目的. SELECT column FROM table ORDER BY RAN ...
- 树莓派无法安装mariadb_RaspberryPi(树莓派)如何安装 MariaDB / MySQL 数据库
安装的过程比较简单. 但是这里有一个地方需要注意,如果你希望是能够通过网络访问你安装的数据库的话. 在你设置好用户名和密码,以及访问权限后,你可能发现你还是访问不了. 这是因为你的安装服务器只绑定了能 ...
- ios django 连接mysql_Django---Django连接Mysql数据库
前面介绍了Django平台的数据交互,这些数据都是在本地存放着,修改内容或者重新启动服务,数据就消失了,如果我们把数据存放在数据库中,不就保存了吗? Django数据库 Django中自带的也有数据库 ...
- Python开发之:Django基于Docker实现Mysql数据库读写分离、集群、主从同步详解 | 原力计划...
作者 | Pythonicc 责编 | 王晓曼 出品 | CSDN博客 简介 1.什么是数据库读写分离 读写分离,基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELET ...
- mariadb mysql表_mysql/mariadb学习记录——创建删除数据库、表的基本命令
查看已有的数据库: mysql>show databases;+--------------------+ | Database | +--------------------+ | infor ...
- django mysql数据同步_[django同步数据库]Django去操作已经存在数据的数据库
数据库,各种表结构已经创建好了,甚至连数据都有了,此时,我要用Django管理这个数据库,ORM映射怎么办??? Django是最适合所谓的green-field开发,即从头开始一个新的项目 但是呢, ...
最新文章
- ESXi6.5环境搭建(三:vSphere Client6.0安装)
- Jetty 基本使用样例
- git提交时支持文件名大小写的修改
- 【shell】 初次接触shell编程,记录一下遇到的问题
- 解决新浪微盘下载没反应下载中断
- 360下载器怎么打开 360下载器使用方法
- python管理数据库的库_Python中管理数据库
- js遍历对象去除空格
- NAND flash和NOR flash的区别详解
- diff和patch工具打补丁
- PageRank实践-博客园用户PageRank排名
- Python图书管理系统(终章)
- 团队管理的四大挑战——留人篇
- C#重载函数与可选参数简单实例
- 网上书城(搜索页,购物车)
- linux强制关闭程序快捷键,Linux 使用、ctrl+z或screen后台运行命令程序的方法
- 2022-2028年全球与中国防水翘板开关行业产销需求与投资预测分析
- shopee入驻条件费用-shopee 2020年最新的入驻须知
- Huffman编解码实现文本压缩
- ShareSDK Android 使用
热门文章
- No resource found that matches the given name '@style/Theme.AppCompat.Light'
- linux 安装安装rz/sz 和 ssh
- android学习笔记之十服务(Service)
- 随笔之如何实现一个线程池
- swift 3.0 json解析、字典转模型三种方案
- Visual Studio Code Go 插件文档翻译
- 一行js代码识别Selenium+Webdriver及其应对方案
- Intel或将裁员数千人 谋求业务转型
- 容器网络Calico进阶实践 | 褚向阳
- linux /etc/fstab文件参数求解释