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)相关推荐

  1. python3 django配置数据库(mysql)

    python3 django配置数据库(mysql)http://www.bieryun.com/3311.html python3 下的mysql驱动 django 连接mysql默认驱动是MySQ ...

  2. 数据库---MariaDB(MySQL)

    因为我用的是XAMPP集成环境,之前自己迷迷糊糊瞎搞了半天.直接打开软件然后点击shell,然后会提示进入了MariaDB. 我看的教材是<零基础学PHP 第三版>,这与书本不一致,我只能 ...

  3. Django Sqlite3 数据库向MySQL迁移

    整合了两个URL而来.. 1,http://www.phodal.com/blog/django-mezzanine-sqlite3-migrate-mysql/ 2,http://www.ziqia ...

  4. MariaDB/MySQL从数据库中选择随机的行

    MariaDB/MySQL从数据库中选择随机的行 一个比较传统的做法是使用sql自带的rand函数,从而达到随机排序的目的. SELECT column FROM table ORDER BY RAN ...

  5. 树莓派无法安装mariadb_RaspberryPi(树莓派)如何安装 MariaDB / MySQL 数据库

    安装的过程比较简单. 但是这里有一个地方需要注意,如果你希望是能够通过网络访问你安装的数据库的话. 在你设置好用户名和密码,以及访问权限后,你可能发现你还是访问不了. 这是因为你的安装服务器只绑定了能 ...

  6. ios django 连接mysql_Django---Django连接Mysql数据库

    前面介绍了Django平台的数据交互,这些数据都是在本地存放着,修改内容或者重新启动服务,数据就消失了,如果我们把数据存放在数据库中,不就保存了吗? Django数据库 Django中自带的也有数据库 ...

  7. Python开发之:Django基于Docker实现Mysql数据库读写分离、集群、主从同步详解 | 原力计划...

    作者 | Pythonicc 责编 | 王晓曼 出品 | CSDN博客 简介 1.什么是数据库读写分离 读写分离,基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELET ...

  8. mariadb mysql表_mysql/mariadb学习记录——创建删除数据库、表的基本命令

    查看已有的数据库: mysql>show databases;+--------------------+ | Database | +--------------------+ | infor ...

  9. django mysql数据同步_[django同步数据库]Django去操作已经存在数据的数据库

    数据库,各种表结构已经创建好了,甚至连数据都有了,此时,我要用Django管理这个数据库,ORM映射怎么办??? Django是最适合所谓的green-field开发,即从头开始一个新的项目 但是呢, ...

最新文章

  1. ESXi6.5环境搭建(三:vSphere Client6.0安装)
  2. Jetty 基本使用样例
  3. git提交时支持文件名大小写的修改
  4. 【shell】 初次接触shell编程,记录一下遇到的问题
  5. 解决新浪微盘下载没反应下载中断
  6. 360下载器怎么打开 360下载器使用方法
  7. python管理数据库的库_Python中管理数据库
  8. js遍历对象去除空格
  9. NAND flash和NOR flash的区别详解
  10. diff和patch工具打补丁
  11. PageRank实践-博客园用户PageRank排名
  12. Python图书管理系统(终章)
  13. 团队管理的四大挑战——留人篇
  14. C#重载函数与可选参数简单实例
  15. 网上书城(搜索页,购物车)
  16. linux强制关闭程序快捷键,Linux 使用、ctrl+z或screen后台运行命令程序的方法
  17. 2022-2028年全球与中国防水翘板开关行业产销需求与投资预测分析
  18. shopee入驻条件费用-shopee 2020年最新的入驻须知
  19. Huffman编解码实现文本压缩
  20. ShareSDK Android 使用

热门文章

  1. No resource found that matches the given name '@style/Theme.AppCompat.Light'
  2. linux 安装安装rz/sz 和 ssh
  3. android学习笔记之十服务(Service)
  4. 随笔之如何实现一个线程池
  5. swift 3.0 json解析、字典转模型三种方案
  6. Visual Studio Code Go 插件文档翻译
  7. 一行js代码识别Selenium+Webdriver及其应对方案
  8. Intel或将裁员数千人 谋求业务转型
  9. 容器网络Calico进阶实践 | 褚向阳
  10. linux /etc/fstab文件参数求解释