Django

数据库

注意: Django 从2.1开始不再支持 MySQL 5.5,需要 MySQL 5.6及以上。

Django中,操作MySQL数据库默认使用驱动MySQLdb,如果需要改为PyMySQL,需要做作如下修改:

  1. settings.py:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'test',
            'USER': 'root',
            'PASSWORD': 'root',
            'HOST': '127.0.0.1',
            'PORT': '3306',
            'OPTIONS': {
                'init_command': 'SET storage_engine=INNODB;',
                'charset': 'utf8mb4',
                'use_unicode': True
            },
        }
    }
    
    注: MySQL需要指定OPTIONS解决数据库中与程序中编码不一致导致的乱码问题。
  2. settings.py同目录的__init__.py:
    import pymysql
    pymysql.install_as_MySQLdb()
    

其他配置

  1. 国际化/本地化-中文
    LANGUAGE_CODE = 'zh-hans'
    
  2. 时区
    TIME_ZONE = 'Asia/Shanghai'
    
  3. 加载哪些应用
    INSTALLED_APPS = []
    
  4. 调试模式
    DEBUG = True
    
  5. 允许谁(主机)访问
    ALLOWED_HOSTS = [
        '0.0.0.0',
        '127.0.0.1'
    ]
    

应用添加模型

应用以blog为例

  1. 编辑应用blog目录下的模型文件(blog/models.py), 添加模型类
  2. 项目配置文件中的INSTALLED_APPS中添加blog应用'blog.apps.BlogConfig', 修改后如下:
    INSTALLED_APPS = [
        # ...
        'blog.apps.BlogConfig'
    ]
    
    注: 'blog.apps.BlogConfig'包含3部分内容:
    • blog为应用目录()
    • apps为应用主文件(模块)
    • BlogConfig为应用配置类()
  3. 为应用blog创建数据库迁移文件

    python manage.py makemigrations <应用名>

    python manage.py makemigrations blog
    
  4. 查看迁移文件会执行的操作(不会修改数据库)

    python manage.py sqlmigrate <应用名> <迁移版本号>

    python manage.py sqlmigrate blog 0001
    
    注: 迁移版本号blog/migrations/下面生成的迁移文件(比如: 0001_initial.py)的数字前缀部分
  5. 执行迁移操作(修改数据库)
    python manage.py migrate
    

参考官方文档:

https://docs.djangoproject.com/

版权声明:本文为博主原创文章,未经博主允许不得转载。https://mp.csdn.net/mdeditor/84291636

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值