python Django连接MySQL数据库做增删改查


Posted in Python onNovember 07, 2013

1、下载安装MySQLdb类库
http://www.djangoproject.com/r/python-mysql/
2、修改settings.py 配置数据属性

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'djangodb',                      # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '127.0.0.1',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '3306',                      # Set to empty string for default.
    }
}

修改完后进入DOS进入项目目录下执行python manage.py shell命令启动交互界面输入一下代码验证数据库配置是否成功。没报错则成功!
>>> from django.db import connection
>>> cursor = connection.cursor()

 3、创建一个Django app
一个项目中包含一个或多个这样的app。app可以理解为一块功能集合。比如产品管理模块就包含增删该查等功能,可以把产品管理叫做一个app。每个Django app都有独立的models,views等,易移植和被复用。
DOS进入项目目录 执行 python manage.py startapp products生成目录文件如下:
products/
    __init__.py
    models.py
    tests.py
    views.py

 4、编写models
from django.db import models
# Create your models here.
class Company(models.Model):
    full_name = models.CharField(max_length=30)
    address = models.CharField(max_length=50)
    tel = models.CharField(max_length=15,blank=True)
class Product(models.Model):
    product_name = models.CharField(max_length=30)
    price = models.FloatField()
    stock = models.IntegerField(max_length=5)
    company = models.ForeignKey(Company)

 5、模型安装(修改settings.py)
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
     'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
     'django.contrib.admindocs',
    'DjangoMysqlSite.products',
)

采用 python manage.py validate 检查模型的语法和逻辑是否正确。
没有错误则执行 python manage.py syncdb创建数据表。
现在你可以看到你的数据库除了生成了products_company,products_product外还创建了其它好几个表,这些是django管理后台所需表暂不管。

6、简单的增删改查
 进入python manage.py shell

from DjangoMysqlSite.products.models import Company
>>> c = Company(full_name='集团',address='杭州西湖',tel=8889989)
>>> c.save()>>> company_list = Company.objects.all()
>>> company_list
>>> c = Company.objects.get(full_name="集团")
>>> c.tel = 123456
>>> c.save()
 

>>> c = Company.objects.get(full_name="集团")
>>> c.delete()
#删除所有
>>> Company.objects.all().delete()
Python 相关文章推荐
python三元运算符实现方法
Dec 17 Python
python 开发的三种运行模式详细介绍
Jan 18 Python
tensorflow中next_batch的具体使用
Feb 02 Python
Python多层装饰器用法实例分析
Feb 09 Python
通过python顺序修改文件名字的方法
Jul 11 Python
Python抽象和自定义类定义与用法示例
Aug 23 Python
python实现扫描ip地址的小程序
Apr 16 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
Jun 10 Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
python操作docx写入内容,并控制文本的字体颜色
Feb 13 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
使用Python下载Bing图片(代码)
Nov 07 #Python
python中文乱码的解决方法
Nov 04 #Python
python Django模板的使用方法(图文)
Nov 04 #Python
使用python Django做网页
Nov 04 #Python
教你安装python Django(图文)
Nov 04 #Python
python条件和循环的使用方法
Nov 01 #Python
讲解python参数和作用域的使用
Nov 01 #Python
You might like
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
js 程序执行与顺序实现详解
2013/05/13 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
详解JavaScript表单验证(E-mail 验证)
2016/03/31 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
bootstrapValidator表单验证插件学习
2016/12/30 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
python文件比较示例分享
2014/01/10 Python
python控制台中实现进度条功能
2015/11/10 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
python基于递归解决背包问题详解
2019/07/03 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
python网络编程之五子棋游戏
2020/05/14 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
Python 日期与时间转换的方法
2020/08/01 Python
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
《日月潭》教学反思
2014/02/28 职场文书
关爱老人标语
2014/06/21 职场文书
入党积极分子个人总结
2015/03/02 职场文书
2015年测量员工作总结
2015/05/23 职场文书
迎国庆主题班会
2015/08/17 职场文书
python解决12306登录验证码的实现
2021/04/18 Python