python Django连接MySQL数据库做增删改查
发布时间:2023-11-14 10:44:35
标签:python,Django,MySQL
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()


猜你喜欢
- 通过PyFetion可以很方便的使用python来用飞信发送短信,下面贴出代码:from fetion import *import osd
- 前言在实际的生产环境中,如果对MySQL数据库的读和写都在一台数据库服务中操作,无论在安全性、高可用性,还是高并发性等各个方面都是完全不能满
- 微信这个东西估计宅男没几个不熟悉的吧,微信经过这么两年多的发展终于向开放平台跨出了友好的一步。蛋疼的以为微信会出一个详细的api等接口,兴奋
- 生成一列sum_age 对age 进行累加df['sum_age'] = df['age'].cumsum(
- Cookie是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个Web站点会话之间持久地保持数据。Request和Res
- 目录为什么使用requests:模拟get请求:模拟请求头部信息模拟post请求requests上传文件requests设置代理time模块
- caller 属性返回一个对函数的引用,该函数调用了当前函数。functionName.caller functionName 对象是所执行
- 使用python进行程序编写时,经常会使用第三方模块包。这种包我们可以通过python setup install 进行安装后,通过impo
- 先给大家展示下效果图:向下滑动网页的时候能够自动加载图片并显示。盛放图片的盒子模型如下:<div class="box&qu
- 现有两个元组(('a'),('b')),(('c'),('d')),请使用p
- 在SQL Server中联机丛书是这样说的: SQL Server timestamp 数据类型与时间和日期无关。SQL Server ti
- python 实现单例的方法第一种方法:使用基类New 是真正创建实例对象的方法,所以重写基类的new 方法,以此保证创建对象的时候只生成一
- 下面是在深度学习数据集处理过程中可能会用到的一个小程序,帮助我们根据图片文件的名字来分开图片:import osimport shutilp
- CentOS6.9安装Mysql5.7,供大家参考,具体内容如下一、上传安装包二、建立用户以及mysql的目录1、建立一个mysql的组输入
- 本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下添加新书查询借阅二次添加新书(读取已有的.xls并修改)
- 配置静态文件的两种方式:1 配置单独app下的静态文件,比如某个app下的单独的图片。2 配置整个project下的静态文件,适用于那些和单
- 最近一直在用python写点监控oracle的程序,一直没有用到异常处理这一块,然后日常监控中一些错误笼统的抛出数据库连接异常,导致后续处理
- 本文实例讲述了Python实现给qq邮箱发送邮件的方法。分享给大家供大家参考。具体实现方法如下:#-*-coding:utf-8-*- &n
- 整理了一些JS的常用方法,包括验证啊,全选反选啊,ajax请求啊之类的,因为就是自己用的,写的都比较简单,就算抛砖引玉吧,喜欢的就拿去,不喜
- 1. 删除列表(list)的三种方式(1).按照元素删除—remove()直接删除具体某个元素,remove里面传递的是