Python+Django连接mysql 自动创建model
来源:互联网 发布:生日网站源码 编辑:程序博客网 时间:2024/06/05 08:27
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 modelsclass 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数据库进行操作。
- Python+Django连接mysql 自动创建model
- python学习之--Django--连接数据库mysql创建model
- python django mysql 连接
- python /django连接 mysql
- python django 连接mysql数据库
- django创建model
- Django Step1 项目创建+连接MySQL+建表
- python之路-----web应用的创建(python3.4下,django连接mysql)
- python 3 django连接mysql数据库配置
- django 连接mysql(Python 2.7.5、django 1.10.5)
- django中创建一个Model
- django中创建一个Model
- python django model类型总结
- Python Django model之字段
- python django model联合主键
- (django问题)连接数据库mysql(python-mysql)
- hibernate4连接mysql自动创建表失败
- python Django连接MySQL数据库做增删改查
- 基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作
- 最优三角形剖分
- xoj1199
- 内部类
- 判断一个字符串是不是回文
- Python+Django连接mysql 自动创建model
- matlab并行之parafor
- mysql查询一张表总共有多少字段?
- iOS开发之单例
- 以hdu3480为例学会斜率优化&&四边形优化
- CoAP协议学习——CoAP基础
- 【项目管理和构建】——Maven简介(一)
- 为什么很多的 iOS app 都有秒退现象?有什么好方法避免它?
- impala同步hive数据