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 isinstance函数介绍
Apr 14 Python
Python heapq使用详解及实例代码
Jan 25 Python
Python读取properties配置文件操作示例
Mar 29 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
Apr 10 Python
详解python:time模块用法
Mar 25 Python
导入tensorflow时报错:cannot import name 'abs'的解决
Oct 10 Python
从训练好的tensorflow模型中打印训练变量实例
Jan 20 Python
tensorflow之自定义神经网络层实例
Feb 07 Python
Python计算公交发车时间的完整代码
Feb 12 Python
Python实现给PDF添加水印的方法
Jan 25 Python
TensorFlow的自动求导原理分析
May 26 Python
Python实现简单得递归下降Parser
May 02 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
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
PHP文件缓存内容保存格式实例分析
2014/08/20 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
discuz论坛更换域名,详细文件修改步骤
2020/12/09 PHP
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
为jQuery增加join方法的实现代码
2010/11/28 Javascript
javascript温习的一些笔记 基础常用知识小结
2011/06/22 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
原生js实现日历效果
2020/03/02 Javascript
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
简单介绍Python中的readline()方法的使用
2015/05/24 Python
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
Python基于PycURL实现POST的方法
2015/07/25 Python
Python中条件判断语句的简单使用方法
2015/08/21 Python
Django 跨域请求处理的示例代码
2018/05/02 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
Python实现FTP弱口令扫描器的方法示例
2019/01/31 Python
python如何使用代码运行助手
2020/07/03 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
CSS3 border-radius圆角的实现方法及用法详解
2020/09/14 HTML / CSS
中国领先的专业演出票务网:永乐票务
2016/08/29 全球购物
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
Java模拟试题
2014/11/10 面试题
服装厂厂长职责
2013/12/16 职场文书
销售团队获奖感言
2014/08/14 职场文书
节约用电通知
2015/04/25 职场文书
孔繁森观后感
2015/06/10 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
JS实现简单的九宫格抽奖
2022/06/28 Javascript