• django链接mysql


    简介

      在实际生产环境,Django是不可能使用SQLite这种轻量级的基于文件的数据库作为生产数据库。一般较多的会选择MySQL。如果使用SQLite这种轻量级的数据库不需要手动配置。

    一、安装Python访问MySQL的模块

      在 Python2 中,使用【pip install mysql-python】进行安装连接MySQL的库,使用时【import MySQLdb】进行使用;在Python3中Django官方已经不建议使用pymysql库了,而是改用mysqlclient,直接pip安装即可。

    pip install mysqlclient

         并在guest目录下的__init__添加:

         import pymysql

         pymysql.version_info = (1, 4, 13, "final", 0)

         pymysql.install_as_MySQLdb() # 使用pymysql代替mysqldb连接数据库

         要不会报错:

         raise ImproperlyConfigured('mysqlclient 1.4.0 or newer is required; you have %s.' % Database.__version__)
         django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.10.0.

    二、配置Django的settings.py

      在Django的settings.py文件中设置如下:

    复制代码
    DATABASES = {
        'default': {
            # 配置mysql数据库,使用sqlite3的 跳过此步骤无需配置
            # 'ENGINE': 'django.db.backends.sqlite3',
            # 'NAME': BASE_DIR / 'db.sqlite3',
            'ENGINE': 'django.db.backends.mysql',  # 数据库引擎
            'NAME': 'ctango',  # 数据库名,自己本地创建。。。注意不是链接的名字而是数据库的名字(https://blog.csdn.net/biong188/article/details/100546630)
            'USER': 'root',  # 数据库用户名
            'PASSWORD': 'root',  # 数据库密码
            'HOST': '127.0.0.1',  #MySQL服务所在主机IP
            'PORT': '3306',  # MySQL服务端口
        }
    }
    复制代码

     

    三、配置Django的时间及语言

     在Django的settings.py文件中设置如下:

    # LANGUAGE_CODE = 'en-us'
    LANGUAGE_CODE = 'zh-hans'
    
    # TIME_ZONE = 'UTC'
    TIME_ZONE = 'Asia/Shanghai'

    四、同步数据

    切换了数据库后,之前 Sqlite3 数据库里的数据并不能复制到 MySQL 中,所以需要重新进行数据 
    库同步,使数据模型重新在 MySQL 数据库中生成表。

    python3 manage.py migrate
     
     
    因为更换了数据库,所以,Admin 后台超级管理员账号(admin/admin123456)也需要重新创建
    python3 manage.py createsuperuser
    同步数据库数据

    创建后使用:python3 manage.py runserver   启动服务

      

  • 相关阅读:
    黑盒测试用例设计-功能图法和场景法(八)
    黑盒测试用例设计-正交试验方法(七)
    Linux 的档案权限与目录配置
    maven常用技巧
    SQL Server登录 18456错误
    How do I remove javascript validation from my eclipse project?
    解决Cannot change version of project facet Dynamic web module to 2.5
    An error occurred while filtering resources
    Java Servlet完全教程
    eclipse 使用指南
  • 原文地址:https://www.cnblogs.com/zhifeiji822/p/15465671.html
Copyright © 2020-2023  润新知