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 linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
pymongo为mongodb数据库添加索引的方法
May 11 Python
python机器学习实战之树回归详解
Dec 20 Python
对Python subprocess.Popen子进程管道阻塞详解
Oct 29 Python
利用Python模拟登录pastebin.com的实现方法
Jul 12 Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
Python函数参数定义及传递方式解析
Jun 10 Python
Python pathlib模块使用方法及实例解析
Oct 05 Python
Cpython解释器中的GIL全局解释器锁
Nov 09 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
Jan 12 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 15 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 curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
javascript new后的constructor属性
2010/08/05 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
js计算任意值之间随机数的方法
2015/01/16 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
React优化子组件render的使用
2019/05/12 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
vue实现路由不变的情况下,刷新页面操作示例
2020/02/02 Javascript
轻松实现TensorFlow微信跳一跳的AI
2018/01/05 Python
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
使用python将mysql数据库的数据转换为json数据的方法
2019/07/01 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
初中科学教学反思
2014/01/21 职场文书
两只小狮子教学反思
2014/02/05 职场文书
社区志愿者培训方案
2014/06/10 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
司机岗位职责
2015/02/04 职场文书
元旦联欢晚会主持词
2015/07/01 职场文书
2015年除四害工作总结
2015/07/23 职场文书
2016暑期社会实践心得体会范文
2016/01/14 职场文书
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis
Golang解析JSON对象
2022/04/30 Golang