zoukankan      html  css  js  c++  java
  • 西游之路——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()

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

  • 相关阅读:
    apache域名跳转
    apache配置防盗链
    apache配置静态缓存
    apache通过rewrite限制某个目录
    apache不记录指定类型的访问日志
    apache访问日志
    apache用户认证
    apache访问控制
    apache禁止默认虚拟主机
    mysql主从复制架构配置
  • 原文地址:https://www.cnblogs.com/Lujun1028/p/9961080.html
Copyright © 2011-2022 走看看