Django 数据库与模型(上)

2018-02-05  本文已影响0人  Hobrimttxx

在之前,我们写出了一个视图,但这还远远达不到我们的需求!

数据库配置


首先请打开projectname/projectname/settings.py

默认情况下,Django为你提供了sqlite3,如果你不擅长其他数据库并且只是想学习一下Django,可以直接跳过这一步

但有的人则不同,我们学习它就是为了在生产环境中使用,所以我们要选择一些更具可伸缩性的数据库例如PostgreSQL、MySQL,在这里我们以MySQL为主

打开settings.py后,找到DATABASES,修改为以下内容

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'dbname',

        'HOST': 'localhost',

        'USER': 'root',

        'PASSWORD': 'password',

        'PORT': '3306',

    }

}

请根据你对数据库的配置修改相应的参数

同时,找到TIME_ZONE并设置为我们的市区

TIME_ZONE = 'Asia/Shanghai'

注意,是Shanghai,不是Beijing

接着,运行该指令

python manage.py migrate

Django自带的一些应用也使用到了数据库,你需要运行该函数创建数据表

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

这时,使用MySQL的人会发现出现了问题!提示我们没有安装MySQLdb,有的人会立刻“pip install MySQLdb”,然后发现又出现了问题!

不要继续折腾了,MySQLdb模块不支持python3,所以我们应该使用pymysql

pip install pymysql

然后打开projectname/projectname/__init__.py,添加以下代码

import pymysql

pymysql.install_as_MySQLdb()

接着,我们再次执行migrate命令,如果数据库配置没有问题的话,它就会自动开始数据表创建了

创建模型


数据库配置好后,我们就要开始编写模型了!

打开projectname/appname/models.py

首先我们试着创建一个简单的模型,在原有代码里加入以下内容

class User(models.Model):

    UserID = models.IntegerField(default = 0)

    UserName = models.CharField( max_length = 100)

    UserPass = models.CharField( max_length = 300)

暂时我们不用过度关系这些东西是做什么的,我们我们开始激活模型

上一篇 下一篇

猜你喜欢

热点阅读