网站搭建 (第02天) 数据库选型

 一、前言

  上一篇记录的是模型设计,也就是博客展示的基本功能,那么这些模型在进行数据迁移的时候就会产生数据。如何有效地保存好这些数据,这就是每一个开发者都值得去斗智斗勇的一件事,如防止跨站攻击,反爬虫等。今天内容就是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,文章的更新编辑以此链接为准。欢迎关注源站文章!

猜你喜欢

转载自www.cnblogs.com/jxiaofei/p/10726109.html