一、前言
上一篇记录的是模型设计,也就是博客展示的基本功能,那么这些模型在进行数据迁移的时候就会产生数据。如何有效地保存好这些数据,这就是每一个开发者都值得去斗智斗勇的一件事,如防止跨站攻击,反爬虫等。今天内容就是Django框架的数据库选型问题,其实Django 对各种数据库都提供了很好的支持,包括:PostgreSQL,MySQL,SQLite, Oracle,在选择这些数据库的时候都可以根据自己的需求去选择。关于SQLite数据库,它是一种文档型数据库,是Django默认自带的,不需要用户去下载,在数据迁移的时候,会直接在项目根目录下产生一个db.sqlite3的文件。而我在项目中使用的是MySQL数据库,一种关系型数据库。下面就介绍一下如何将Django自带的SQLite换成MySQL。
二、MySQL部署
肯定是需要在当前主机上安装MySQL,另外要注意的是在网站部署的时候也要在服务器上安装MySQL,否则网站在运行时候肯定是会报错的。
sudo apt-get install mysql-server mysql-client
启动MySQL服务。先注册一个用户用于登录,然后创建一个数据库名叫做blog。
create database blog charset=utf8;
下载一个Python驱动Mysql的包。在这里有必要说一下的是Django目前仅支持Python2版本的Mysqldb包,如果使用Python3开发的版本就必须要使用pymysql的驱动包,它们是有区别的。这样的话是不是Django就不能支持Python3了呢,其实是可以的,只需要在Django项目中的__init__.py文件加上下面这两行。
import pymysql pymysql.install_as_MySQLdb()
修改settings.py文件中的DATABASES选项
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'blog', 'USER': 'root', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '3306' } }
原文出处:https://jzfblog.com/detail/20,文章的更新编辑以此链接为准。欢迎关注源站文章!