Python+Django连接mysql 自动创建model

本文介绍了如何在Python 3.4.2环境下使用Django连接MySQL数据库,重点是使用PyMySQL替代不再支持的MySQLdb,并详细阐述了创建Django app、配置数据库连接、同步模型到数据库的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python+django对数据库的支持是非常多的。可以使用默认的sqlite数据库。python3.4.2已经集成了sqlite3数据库。

我们这里演示一下怎么连接mysql数据库。

要连接mysql数据库必须要安装一个我称之为中间件。如果是3.2之前的版本。可以使用MySQLdb来连接。因为我这里安装的是3.4.2版本,这个版本连接mysql有一定的区别。需要使用pymysql来连接。下载地址在这里:

PyMySQL

这是一个开源的工程。

下载完了之后我们可以在控制台使用python setup.py install将库文件安装到python中。

MySQLdb的安装是可以直接运行的。

Django约定必须要创建app才能使用模型。
Django认为一个project包含很多个Django app,project提供配置文件,比如数据库连接信息、 安装的app清单、模板路径等等;而一个app是一套Django功能的集合,通常包括模型和视图,按Python的包结构的方式存在。
app可以在多个project之间很容易的复用。比如Django自带的注释系统和自动管理界面。

创建应用的脚本也是使用project目录下的managy.py:

$python manage.py startapp app1

这样就会在工程目录下创建一个app1命名的文件夹:

文件目录如下:

这里本来是有一个migrations文件夹。这里会影响ORM的生成。所以我们删去这个文件夹。

我们编辑models.py:

from django.db import models

class Product(models.Model):
     title          = models.CharField(max_length=100)
     description     = models.TextField()
     image_url     = models.CharField(max_length=200)
     price          = models.DecimalField(max_digits=8,decimal_places=2)
创建一个模型叫Product以及对应的属性。

接下来配置数据库的连接:

在settings.py文件做如下修改:


配置好与数据库之间的连接。

接下来我们验证一下:

$python manage.py validate/check

之前的版本使用validate后来被废弃掉使用check来做校验。没有错误之后我们就可以连接数据库。

$ python manage.py syncdb

这里有可能会有问题。可能会报找不到Module 'MySQLdb'

因为我们这里使用的是PyMySQL,而django1.8(我当前的版本)默认是使用MySQLdb

我们找到使用的地方:

在Python安装目录Lib\site-packages\Django-1.8-py3.4.egg\django\db\backends\mysql对应的文件夹下有一个base.py这里是连接数据库具体的代码。我们可以讲这个模块里边的MySQLdb全部替换为pymysql。

然后再执行:$ python manage.py syncdb

就会发现我们的模型已经导入到数据库里边了。

这样我们就可以使用django和python连接mysql数据库进行操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值