西游之路——python全栈——django中models配置

Posted 陆游憩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了西游之路——python全栈——django中models配置相关的知识,希望对你有一定的参考价值。

目录

 

Django支持多种数据库,sqlite,mysql,oracle等,其默认数据库是sqlite

在settings文件中可以发现:

复制代码
DATABASES = {
    \'default\': {
        \'ENGINE\': \'django.db.backends.sqlite3\',
        \'NAME\': os.path.join(BASE_DIR, \'db.sqlite3\'),
    }
}
复制代码

其默认数据库是sqlite3

要想使用其他数据库,需要修改相应的引擎和配置

(1)sqlite:

\'ENGINE\': \'django.db.backends.sqlite3\',    #设置引擎
\'NAME\': os.path.join(BASE_DIR, \'db.sqlite3\'), #设置数据库存放路径

(2)mysql

复制代码
DATABASES = {
    \'default\': {
        \'ENGINE\': \'django.db.backends.mysql\',   #数据库引擎设置
        \'NAME\': \'test\',                         #数据库名称
        \'USER\': \'root\',                         #数据库用户名
        \'PASSWORD\':\'root\',                      #数据库密码
        \'HOST\':\'\',                              #主机地址,默认localhost
        \'PORT\':\'3306\'                           #数据库端口
    }
}
复制代码

然后在APP目录下models文件中添加:

复制代码
from django.db import models

# Create your models here.

class UserInfo(models.Model):
    username = models.CharField(max_length=64)
    age = models.IntegerField()
复制代码

使用命令生成数据表(python---django使用数据库(orm)):

python manage.py makemigrations
python manage.py migrate

会发现报错:

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

原因是因为:

Django默认你导入的是MySQLdb,但是MySQLdb 对于py3版本有很大问题,所以我们需要的驱动为pymysql,所以在项目名文件夹的__init__.py中引入pymysql(也可以直接在settings下的全局文件__init__.py中引入)

import pymysql
pymysql.install_as_MySQLdb()

再进行启动,可以成功创建。

 

以上是关于西游之路——python全栈——django中models配置的主要内容,如果未能解决你的问题,请参考以下文章

西游之路——python全栈——Django的form组件初识

西游之路——python全栈——自定义用户认证

西游之路——python全栈——瀑布流

西游之路——python全栈——上传文件

西游之路——python全栈——Form组件字段及动态绑定

西游之路——python全栈——ORM之SQLAlchemy