`

Django_Python3添加MySQL/MariaDB支持

 
阅读更多

现状

首先,Django@Python2.x 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。

MySQL官方的方案

首先据MySQL文档[3]说,自从MySQL Connector/Python 1.1.1 开始,引入了 mysql.connector.django ,可直接作为 Django 的数据库引擎使用,但是我试了1.1.2和1.1.3后发现,根本不是那么回事[4]。

PyMySQL(It works)

后来,发现了 PyMySQL[1] ,支持Python3 ,google后知道如何与 Django 结合使用[2],答案如下:

首先,安装PyMySQL

for Windows

for Fedora

然后,在 Django 站点的 __init__.py 文件中添加如下两行:

最后是数据库的配置(在settings.py)

然后同步数据库:

for Windows

for Fedora

OK, It works!

:本人在 Windows 7 + MariaDB 5.5 + Django 1.6.0 + Python 3.3 的环境下试验成功。

更新:在Fedora + MariaDB 5.5 + Django 1.6.0 + Python 3.3 下也测试成功。

参考链接

  1. PyMySQL的官网:https://github.com/PyMySQL/PyMySQL/
  2. Stack Overflow上关于此的一个问题:http://stackoverflow.com/questions/2636536/how-to-make-django-work-with-unsupported-mysql-drivers-such-as-gevent-mysql-or-c
  3. MySQL官方宣称支持Django:http://dev.mysql.com/doc/connector-python/en/connector-python-django-backend.html
  4. MySQL Connector/Python 1.1.3 在Django@Python3下无法工作:http://www.oschina.net/question/1415937_135990
  5. MySQLdb官网(目前不支持Python3):http://sourceforge.net/projects/mysql-python/
分享到:
评论

相关推荐

    Hentai_web-lists:绅士导航

    HentaiWorld_sites绅士网站导航原作者:演示地址:使用说明安装Python3和必备组件、库Centos7系统安装Python3可以参考文章:yum install git screen -ypip3 install django pymysql pillow安装mysql/mariadb,新建...

    airom-system:带有Django webframework和Mariadb数据库的应用程序

    空气系统带有Django Webframework和MariaDB数据库的Python 3.7应用程序安装python库点安装-r requirements.txt安装和配置MariaDB 用户:root 密码:pass 安装SONAME'ha_connect';在Django模型中创建表或从数据库导入...

    automagic:使用Python Django的网络自动化测试平台

    自动化测试平台 python3.8 + Django 3.0.6框架 python3.8以下版本使用Django 3.0.5以上版本,django的/ admin /...Mysql / Mariadb数据库automatic / settings / common.py DATABASES = { 'default' : { # 'ENGINE

    RobustQ:RobustQ-用于量化蜂窝鲁棒性的Web服务

    健壮的Q 量化蜂窝鲁棒性的网络服务。... 运行以下命令以一次安装所有要求: sudo apt-get update sudo apt-get install apache2 apache2-utils mariadb-server libmariadbclient-dev python3-dev libapache2-mo

    dRebs:django-REBS

    Docker中的Django + Nginx + MariaDB 系统需求 码头工人 码头工人组成 用法 复制docker-compose.yml cp docker-compose.tmpl.yml docker-compose.yml 在docker-compose.yml中编写环境 必需的: MYSQL_DATABASE ...

    pythongrid:适用于Python Flask Web框架的简单datagrid

    pythonGridpythonGrid是为连接到关系数据库(例如Postgres或MySql / MariaDB数据库)的Python Web框架创建完全可用的数据网格的简便方法。 当前仅支持框架。 即将有更多的框架支持。要求Python 3.6(即将提供3.7、...

    asyncorm:完全异步的ORM受Django启发

    其他数据库接口( mysql / mariaDb为第一优先级) prefetch_related功能 缺少的字段类型:OneToOneField 依存关系 AsyncOrm当前仅依赖于AsyncPg和netaddr。 asyncpg ,是专门为PostgreSQL和Python / a

    django-mysql:与MySQLMariaDB一起使用的Django扩展

    django-mysql:与MySQLMariaDB一起使用的Django扩展

    traveb:Traveb是一款应用程序,可帮助旅行者和企业建立联系,当地的小型企业或个人将向旅行者提供服务

    先决条件首选在fedora(centos 7)上运行的Virtualenv Django 1.1 Python 3.6 角度5 MySQL(Mariadb) **Setting up the environment*****Server***# 1.Installing Virtual Environment (optional)$ `sh setupenv.sh...

    YaSQL:基于Python开发MySQL WEB版本的工单审核执行和SQL查询平台

    Percona服务器和官方MySQL) TiDB Mariadb(暂不支持Mariadb生成备份) ClickHouse语法规则集成goInception,语法规则请参考: : 支持语法高亮,格式化,注释,补全支持MySQL / TIDB / ClickHouse / Redis查询(DMS...

    django-tree-queries:类似于django-cte-forest,但具有明确的选择加入和较少的可配置性

    支持PostgreSQL,sqlite3(3.8.3或更高版本)和MariaDB(10.2.2或更高版本)和MySQL(8.0或更高版本,如果在没有ONLY_FULL_GROUP_BY情况下ONLY_FULL_GROUP_BY )。 支持Django 2.2或更高版本,Python 3.6或更高...

    omnidb_3.0.3b

    连接mysql,mariadb,postgresql等数据库的客户端工具,基于python django开发的web应用。

    DjangoPowerDNS

    DjangoPowerDNS是用Python编写并由Django支持的新PowerDNS Web界面。 特征 轻松添加/编辑/删除DNS记录 使用REST-API更改应用程序中的DNS记录 将用户添加到某些域,以允许他们编辑DNS记录 科技类 DjangoPowerDNS使用...

    Tutorial-Django

    教程Django続きは Pythonをインストールから最新版本のPythonインストーラー( )をダウンロードして実行 (选项)DBをインストールPostgreSQLまたはMariaDB,MySQL,Oracleような“大型”数据库引擎を利用する场合...

    bbyaworld.com-django:BByaWorld Minecraft Server网站

    数据库(SQLite,MariaDB,MySQL,PostgreSQL等) NPM 凉亭 设置 克隆此仓库 运行pip -r requirements.txt以安装依赖项 运行npm i以安装NPM依赖项 运行bower install以安装Bower组件 配置secrets.json文件 使用...

    CTF_AWD_Platform:CTF 攻防对抗平台

    技术栈python3.6 + Django 2.1.7 + 10.3.9-MariaDB or Mysql-8.0 + REST Framework 3.9.2 + xadmin + Celery + Vue部署基于ubuntu 18 LTS版本安装mysql、redis 并在setting.py中配置连接信息创建虚拟环境基于python...

    DjangoEduSysDemo:这是Django2.0的在线教育系统演示

    Python 3.6 Django 2.0 MySQL 5.7 安装环境 pip install -r requirements.txt 依赖 其他依赖在requirements.txt中了 安装依赖库 pip install -r requirements.txt 如果有需要,你也生成这样一个依赖 pip freeze >./...

    laudario:放射学报告生成器

    在“ requirements.txt”中下载python软件包(将下载Django和其他依赖项)以在本地计算机上运行该项目(可能需要为您的OS下载其他必需的软件包,例如Mac OS的openssl和mysql与brew):$ pip install --upgrade pip ...

    TIL:让我们与Markdown一起组织今天的课程!!

    今天我学到了这是一个回购协议,可以不断学习和组织我们今天所学到的东西。 为了成为一名优秀的开发人员,我会记录自己白天所学的知识或与开发...SQL MySQL(MariaDB) 关于MariaDB 结合使用MariaDB和Python PostgreSQL

    JDI:就做吧

    Python(5),Django(4),ORM(4)-3月 Java(3),Spring Boot(1),JPA(1)-개인프로젝트 javascript(3),node.js(3),express(3),mariaDB(4)-프로젝트1번 프론트엔드 html(1),css(1),...

Global site tag (gtag.js) - Google Analytics