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调用ctypes使用C函数printf的方法
Aug 23 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
python 输出所有大小写字母的方法
Jan 02 Python
elasticsearch python 查询的两种方法
Aug 04 Python
python计算n的阶乘的方法代码
Oct 25 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
python 字典访问的三种方法小结
Dec 05 Python
详解python 中in 的 用法
Dec 12 Python
用python拟合等角螺线的实现示例
Dec 27 Python
Python3.7下安装pyqt5的方法步骤(图文)
May 12 Python
python使用列表的最佳方案
Aug 12 Python
使用python爬取抖音app视频的实例代码
Dec 01 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
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
jQuery判断网页是否已经滚动到浏览器底部的实现方法
2017/10/27 jQuery
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
2019/02/02 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
Python实现求最大公约数及判断素数的方法
2015/05/26 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
python简单实现插入排序实例代码
2020/12/16 Python
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
linux面试题参考答案(7)
2012/10/29 面试题
什么是lambda函数
2013/09/17 面试题
大学四年规划书范文
2013/12/27 职场文书
英语道歉信范文
2014/01/09 职场文书
媒矿安全生产承诺书
2014/05/23 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
中学音乐课教学反思
2016/02/18 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书