`

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/
分享到:
评论

相关推荐

    Python库 | django_mysql-3.7.1-py3-none-any.whl

    `django_mysql-3.7.1-py3-none-any.whl`是一个Python的轮子(wheel)文件,它是预编译的Python包,用于简化安装过程。使用`pip`工具,可以直接安装这个whl文件,而无需编译源代码,从而提高了安装速度和兼容性。安装...

    django+nginx+uwsgi服务器搭建手册(外).docx

    6. 创建软链接: `ln -sf /usr/local/python3/bin/python3 /usr/local/bin/python3` 和 `ln -sf /usr/local/python3/bin/pip3 /usr/local/bin/pip3` --- #### 二、MySQL客户端软件的安装 1. **删除Mariadb** 在...

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

    `django-mysql` 是一个专门为 Django 框架设计的扩展库,它提供了额外的功能和优化,使得在使用 MySQL 或 MariaDB 数据库时能够更好地集成和利用数据库特性。这个扩展使得开发者可以充分利用这两种关系型数据库系统...

    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模型中创建表或从数据库导入...

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

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

    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 ...

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

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

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

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

    linux mint 下mysql中文支持问题

    - 如何在Linux系统上部署Apache+Python+Django+MySQL环境 - Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程 - MySQL的一些实用功能 - 实用的Linux shell脚本分享 - 如何在Linux系统下将数据库从MySQL迁移到...

    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...

    毕业设计基于Django与Vue2的问卷管理与分发系统源码+项目运行说明.zip

    数据库选型:MySQL发行版- MariaDB5. 后端架构:MVC(Model-View-Controller),View视图层改用前后端分离,使用Vue单独编写 前后端分离:前端只提供界面渲染(用户视图),接口实现交由后端 ​ 后端提供API接口,...

    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应用。

    Linux 网站建设技术指南

    1. MySQL/MariaDB:安装数据库管理系统,如MySQL或其分支MariaDB,创建数据库和用户,配置权限,为网站提供数据存储服务。 2. 数据库优化:学习数据库查询优化、索引使用等,提升网站性能。 五、FTP/SSH服务 1. FTP...

    关于navicat、Python100道题

    Navicat是一个跨平台的数据库管理工具,支持多种数据库系统,如MySQL、MariaDB、Oracle、SQL Server等。它提供了图形化的用户界面,使得数据库的管理和开发变得更加直观和高效。以下是一些使用Navicat的关键知识点:...

    第15章 Apache进阶1

    - **Python**:以其简洁清晰的语法而著名,适用于Web开发框架如Django和Flask。 - **Ruby**:Ruby on Rails框架使得Ruby在Web开发中受到欢迎,强调简洁和生产力。 2. **Linux下的关系数据库**: - **MySQL / ...

Global site tag (gtag.js) - Google Analytics