通过Django来对数据库进行增删改查
 
1 首先创建类,在app应用程序里面的model模块里面创建类,写好数据库信息,方便我们待会初始化:
2 创建在django项目里面的settings里面添加app程序()在settings里面的INSTALLED_APPS里面)
3 python manage.py makemigrations

4 python manage.py migrate
 
django 常用命令:
django :
  第一条命令是创建项目名,第二条是创建app,第三个同步(创建)数据库
python3 manage.py startproject project_name
python3 manage.py startapp app_name
python3 manage.py syncdb
 
 

拿models里面的一个类举例:

我们先看models创建一个数据库的方法:

class WebGroup(models.Model):
name = models.CharField(max_length=64)
brief = models.CharField(max_length=255,blank=True,null=True)
owner = models.ForeignKey(UserProfile)
admins = models.ManyToManyField(UserProfile,blank=True,related_name='group_admins')
members = models.ManyToManyField(UserProfile,blank=True,related_name='group_members')
max_members = models.IntegerField(default=200) def __str__(self):
return self.name
 
 
同步数据库

 python manage.py makemigrations
python manage.py migrate
本人使用的是django1.9.5版本
2.创建超级管理员
python manage.py createsuperuser 3.运行django
  python manage.py runserver 8000
 
1 增加数据
 
我们在views里面随便定义一个方法名,然后下如以下代码 ,写入以下代码:
if request.method == "POST":
input_em = request.POST['em'] # em 和 pwd都是和form表单里面的一一对应
input_pw = request.POST['pwd']
   print(input_pw,input_em)
models.UserInfo.objects.create(email=input_em, pwd=input_pw) #models调用的是先前创建好的数据库

  

当出现这个报错提示的时候,我们应该在html页面上的form表单里面添加这行内容: {% csrf_token %}   
<form action="/index/" method="post">
{% csrf_token %}
<input type="text" name="em"/>
<input type="text" name="pwd"/>
<input type="submit" value="添加"/>
</form>

  

  2 删除数据
models.UserInfo.objects.filter(email=input_em).delete()
3 更改数据:
models.UserInfo.objects.filter(email=input_em).update(pwd='nihao')
4 查看数据:
我们需要在HTML页面里嵌套jinja2的代码,下面代码能够在表单里面根据后台数据库的内容来展示,代码如下:
# 前端代码的jinja2语法如下
{% for line in user_info_list %} # user_info_list 实际上就是从models里面获取的对象。
<tr>
<td>{{ line.email }}</td> # 每个遍历出来的对象都有emmail这个属性,因为我们在定义这个表的时候就定义了email字段
<td>{{ line.pwd }}</td>
</tr>
{% endfor %}
后端django,views里面的方法
def index(request):
  # 数据库获取数据,数据和HTML渲染
  from app01 import models
  user_info_list = models.UserInfo.objects.all()
return render(request,'index.html',{'user_info_list':user_info_list})


Django 自带的ORM增删改查的更多相关文章

  1. django自带的orm增删改

    # 转载请留言联系 模型管理器 模型管理器:objects属性 每个模型类默认都有一个叫 objects 的类属性,它由django自动生成 我们把 objects 称为 模型管理器,其类型为: dj ...

  2. Django框架(三)—— orm增删改查、Django生命周期

    目录 orm增删改查.Django生命周期 一.orm介绍 二.orm增删改字段 三.Django生命周期 orm增删改查.Django生命周期 一.orm介绍 1.什么是orm ORM即Object ...

  3. ORM增删改查并发性能测试2

    前言 上一篇<ORM增删改查并发性能测试>出现了点小失误,有的输出SQL日志的代码没有禁用,数据库连接字符串可能有问题.统一环境,统一代码后,重新写一篇. 这次重点是并发性能测试,真不是为 ...

  4. 饮冰三年-人工智能-Python-24 Django ORM增删改查

    一:首先使用默认的sqlite3创建表 1:现在在models.py中添加表模型 from django.db import models # Create your models here. cla ...

  5. django ORM 增删改查 模糊查询 字段类型 及参数等

    ORM 相关 #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (), gen ...

  6. Django框架(三)-- orm增删改查、Django生命周期

    一.orm介绍 1.什么是orm ORM即Object Relational Mapping,全称对象关系映射. 2.使用orm的优缺点 优点: 不用写SQL语句 开发效率高 缺点: SQL的效率低 ...

  7. day054 组件 CBV FBV 装饰器 ORM增删改查

    组件: ​ 把一小段HTML 放在一个HTML中 nav.html ​ 使用: ​ {% include ‘nav.html ’ %} 一. FBV 和CBV 1.FBV(function base ...

  8. ORM增删改查

    目录 orm django 连接mysql顺序 1 settings配置文件中 2 项目文件夹下的init文件中写上下面内容, 补充 3 models文件中创建一个类(类名就是表名) 4.执行数据库同 ...

  9. Django 文件配置、pycharm及django连接数据库、表的增删改查 总结

    静态文件配置 1.你在浏览器中输入网址能够有响应的资源返回给你 是因为后端已经提前给你开设该资源的接口,也就意味着你所能 访问到的资源 都是人家事先定义好的 2.django如何给用户开设资源接口呢? ...

随机推荐

  1. checkbox js onclick ajax,列表页表格中修改数据

    <input type='checkBox' value='".$row["p_id"]."' onclick='changeisNew(this);'& ...

  2. JVM内存管理------杂谈(借此也论一论obj=null)

    各位园友好,LZ是从某网站转战过来的博主,看到这里很多博主都称看友们为园友,LZ斗胆模仿一下,不过以前,LZ其实都是称看友们为猿友的.之前LZ在某网站已经写了一系列文章,已经全部复制到了园内的新博客, ...

  3. Codeforces Round #359(div 2)

    A:= v = B:^ w ^ C:一天n个小时,一个小时m分(n,m十进制),一个手表有两部分,左边表示时,右边表示分,但都是7进制,而且手表上最多只能有7个数字且数字不能重复,现在要你算出能正确表 ...

  4. parse date receiving from mvc jsonresult

    if we received data like this: ,"Date":"\/Date(1410969600000)\/", we can parse i ...

  5. Spring 向页面传值以及接受页面传过来的参数的方式

    来源于:http://www.cnblogs.com/liuhongfeng/p/4802013.html 一.从页面接收参数 Spring MVC接收请求提交的参数值的几种方法: 使用HttpSer ...

  6. HTTP 405 错误 – 方法不被允许 (Method not allowed)

    HTTP 协议定义一些方法,以指明为获取客户端(如您的浏览器或我们的 CheckUpDown 机器人)所指定的具体网址资源而需要在 Web 服务器上执行的动作.则这些方法如下: 介绍 OPTIONS( ...

  7. java.net.URL请求远程文件下载

    1:浏览器请求下载 public void listStockcodeUplaod(HttpServletRequest req, HttpServletResponse res) throws Ex ...

  8. js-回车事件控制

     1.文本框回车时间 < script type = "text/javascript" language = "javascript" > fun ...

  9. 【POJ 3525】Most Distant Point from the Sea(直线平移、半平面交)

    按逆时针顺序给出n个点,求它们组成的多边形的最大内切圆半径. 二分这个半径,将所有直线向多边形中心平移r距离,如果半平面交不存在那么r大了,否则r小了. 平移直线就是对于向量ab,因为是逆时针的,向中 ...

  10. mysql字段冲突报错

    check the manual that corresponds to your MySQL server version for the right syntax to use near 出现这个 ...