DJango 基础(6)
Django模型基础
知识点:
数据库的配置
使用
django
中的模型将模型映射到数据库
数据的增删改查基本操作
数据库的配置
1.在settings.py中配置DATABASES
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'mydb', #数据库名称
'USER': 'admin', # 链接数据库的用户名
'PASSWORD': 'Root110qwe', # 链接数据库的密码
'HOST': '127.0.0.1', # mysql服务器的域名和ip地址
'PORT': '3306', # mysql的一个端口号,默认是3306
}
}
2.安装数据库连接器,在python3的虚拟环境中安装pymysql连接器。
pip install pymysql
3.在主目录下的的__init__.py
文件添加下面两句:
import pymysql
pymysql.install_as_MySQLdb()
使用django
中的模型
# blog/models.py
from django.db import models
# Create your models here.
class User(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=30)
age = models.IntegerField()
def __str__(self):
return 'User<id=%s,name=%s,age=%s>'%(
self.id,self.name,self.age)
模型必须都写在app下的
models.py
文件中。模型如果需要映射到数据库,所在的
app
必须被安装.一个数据表对应一个模型类,表中的字段,对应模型中的类属性.
映射模型到数据库之前,要提前把数据库给创建好.
将模型映射到数据库中
1.首先要创建一个映射文件,通过执行以下命令创建:
python manage.py makemigrations
2.将映射文件中的映射数据真正提交到数据库中,执行以下命令:
python manage.py migrate
数据的增删改查
增加数据
# blog/views.py
from .models import User
def add_user(request):
# 方法一:
# tizi = User(name='tizi',age=18)
# tizi.save()
# 方法二:
# xm = User()
# xm.name = 'xiaoming'
# xm.age = 19
# xm.save()
# 方法三:
# User.objects.create(name='xiaohong',age=20,)
# 方法四:
User.objects.get_or_create(name='xiaohua',age=21)
return HttpResponse('插入数据成功!!!')
查找数据
# blog/views.py
def search_user(request):
# 查询所有记录对象
# rs = User.objects.all()
# 查询一个记录对象
# rs = User.objects.get(id=1)
# 获取满足条件的对象
rs = User.objects.filter(name='xiaoming')
print(rs)
return HttpResponse('查询数据成功!!!')
更新数据
# blog/views.py
def update_user(request):
# rs = User.objects.get(name='xiaoming')
# rs.name = 'Xiaoming'
# rs.save()
# User.objects.filter(name='Xiaoming').update(name='XM')
User.objects.all().update(country='changsha')
return HttpResponse('更新数据成功!!!')
# 这里的country是在模型中新增的一个字段
删除数据
# blog/views.py
def delete_user(request):
User.objects.get(id=1).delete()
return HttpResponse('删除数据成功!!!')
。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
测试案例:
1,在主文件settings.py中配置DATABASES
:
2,使用DJango中的模型:
3,在windows里面安装Msql数据库。然后将模型映射到数据库中:
4,查看数据库的表:
DJango 基础(6)的更多相关文章
- Python之路-(js正则表达式、前端页面的模板套用、Django基础)
js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
- Django 基础教程
Django 基础教程 这是第一篇 Django 简介 » Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站! 你一定可以学会,Django 很简单 ...
- python的django基础篇
一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...
- Python学习(二十六)—— Django基础一
转载自:http://www.cnblogs.com/liwenzhou/p/8258992.html 一.Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的 ...
- Django基础(一)
Django基础(一) 知识预览 Django基本命令 二 路由配置系统(URLconf) 三 编写视图 四 Template 五 数据库与ORM admin的配置 一 什么是web框架? 框架,即f ...
- python3之Django基础篇
一.Django基础 Django 是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站! Django的特点: 强大的数据库功能:拥有强大的数据库操作接口(QueryS ...
- DJango 基础 (1)
django基础 知识点: 基本认知 工具准备 新建项目 目录及文件说明 开发服务器 创建视图函数 新建应用(app) 1.基本认知 Django是用Python开发的一个免费开源的Web框架,可以用 ...
- Django基础和基本使用
Django基础 Django是Python下的一款著名的Web框架 框架 任何语言进入到高级部分时,会有认证.session.http.连接数据库等等功能操作,没有框架时需要自己实现 框架 是整个或 ...
- {Django基础十之Form和ModelForm组件}一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 ModelForm
Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Model ...
- {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证
Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...
随机推荐
- java实现四则运算应用(基于控制台)
项目地址:https://gitee.com/wxrqforever/object_oriented_exp1.git 一.需求分析: 一个基于控制台的四则运算系统,要能实现生成并计算含有真,假分数, ...
- python入门第二天
啦啦啦啦啦!!!!我又来啦,几天该正式开始学习python语言啦,好高兴啊!!!今天学习的主要内容是变量和简单的数据类型!! 变量和简单的数据类型 大家回忆一下昨天的Hello Python Worl ...
- systemd service 设置limit,不生效问题
参考博文: http://smilejay.com/2016/06/centos-7-systemd-conf-limits/(解决方法参考此博文) 问题简述:Centos7下修改系统的最大文件打 ...
- JavaSE面试题
JavaSE面试题 欢迎到我的Git仓库去提交您觉得优秀的内容! 1.是否可以从一个static方法内部发出对非static方法的调用? 不可以.当一个static方法被调用时,可能还没有创建任何实例 ...
- 量化分析v1
量化分析v1 # -*- coding: utf-8 -*- """ Created on Wed Apr 11 10:13:32 2018 @author: chens ...
- Python判断语句
什么是判断语句 如果 今天是周六或者周日: 约妹子 如果 今天是情人节: 买玫瑰 如果 今天发工资: 先还信用卡的钱 如果 有剩余: 又可以happy了,O(∩_∩)O哈哈~ 否则: 啊啊啊啊,等30 ...
- 利用 Chrome 原生功能截图网页全图
打开你想截图的网页了,然后按下 F12(macOS 是 option + command + i)调出开发者工具,接着按「Ctrl + Shift + P」(macOS 是 command + Shi ...
- 小程序https请求,http网站升到https
最近开发小程序,因为以前只写过小程序的前端没注意接口,现在才发现原来所有的接口都必须使用https协议了,马上研究了一波,顺便也想给自己的博客升成https的. 申请免费证书 哈哈没办法就是喜欢免费的 ...
- Oracle + Mybatis批量插入数据,xml.mapper种的写法
1,把表中去年所有的信息全部复制作为今年的数据,即查询出去年所有的数据然后复制插入 <insert id="cover" parameterType="java.l ...
- 利用Kettle 从Excel中抽取数据写入SQLite
SQLite作为一种数据库可以配置为Kettle的数据输入和输出,这个例子是从Excel中抽取数据然后写入到SQLite中 配置测试并成功后如下 下面是配置步骤: Excel输入配置 sqlite配置 ...