1 orm介绍
  ORM是什么
  ORM 是 python编程语言后端web框架 Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM。  一个句话理解就是:创建一个实例对象,用创建它的类名当做数据表名,用创建它的类属性对应数据表的字段,当对这个实例对象操作时,能够对应MySQL语句
  1 tools--->Run manage.py Task
    python3 manage.py makemigrations
    只需要敲命令:makemigrations(记录数据库的修改记录)
    python3 manage.py migrate
    只需要敲命令:migrate(把数据同步到数据库)
 2 orm能干和不能干的事
  1 能创建数据表,新增,删除字段
  2 不能创建数据库
 3 orm增加字段:(注意数据库迁移命令2条)
  注意:后来增加的字段,需要有默认值
  phone=models.CharField(max_length=64,default='120')
 4 orm删除字段
  注释掉字段,执行数据库迁移命令2条
 5 orm修改字段
  直接修改字段,执行数据库迁移命令2条
 6 user单表的数据增删改查
  ***重点****:
  1 单表查询所有用户:models.User.objects.all()
   得到的是 queryset对象(当成列表),列表里面,一个一个的对象[user1,user2]
  2 render(request, 'userlist.html', {'user_list': ret})
  3 模板里:   {% for user in user_list %}
      #要循环的内容 
       {{user.name}}
      {% endfor%}
  4 get请求携带参数:
   http://127.0.0.1:8000/deleteuser/?id=1&c=1
   后台取值:request.GET.get('id')
     request.GET['id']
  5 orm删除记录 models.User.objects.filter(id=id).delete()
   返回值:影响的行数
  6 前台post提交的数据取值:name=request.POST.get('name')
  7 orm保存:
   两种方式:
   1 user=models.User.objects.create(name=name,password=pwd,address=addr)
   2 user=models.User(name=name,password=pwd,address=addr)
     user.save()
  8 orm查询单条数据:user=models.User.objects.filter(id=id).first()
  9 orm的修改 models.User.objects.filter(id=id).update(name=name,password=pwd,address=addr)
  
 7 django的请求生命周期
 Django的请求生命周期是指当用户在浏览器上输入url到用户看到网页的这个时间段内,Django后台所发生的事情
 而Django的生命周期内到底发生了什么呢??
 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端
 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post,体现在url之中.
 2. url经过Django中的wsgi,再经过Django的中间件,最后url到过路由映射表,在路由中一条一条进行匹配,
 一旦其中一条匹配成功就执行对应的视图函数,后面的路由就不再继续匹配了.
 3.视图函数根据客户端的请求查询相应的数据.返回给Django,然后Django把客户端想要的数据做为一个字符串返回给客户端.
 4. 客户端浏览器接收到返回的数据,经过渲染后显示给用户.

随机推荐

  1. python--爬取豆瓣热门国产电视剧保存为文件

    # -*- coding: utf-8 -*- __author__ = 'Frank Li' import requests import json class HotSpider(object): ...

  2. [Android] Android Butterknife 8.8.1 在 Activity 和 Fragment 、 Adapter 中的使用

    ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤.是大神JakeW ...

  3. Android文字转语音引擎(TTS)使用

    百度网盘下载地址 密码:3si0资源来源:https://blog.csdn.net/Sqq_yj/article/details/82460580?utm_source=blogxgwz4 简单比较 ...

  4. 设置 Visual Studio IIS Express 站点局域网访问

    Ø  Visual Stuido 的 IIS Express运行一个网站时,默认地址是这样的:http://localhost:23167/Cache/Three,其中 localhost 表示本机, ...

  5. 一、VS2017 的创建程序

    1.1 创建第一个子程序 1.1.1 创建项目 打开 VS2017,选择菜单栏 [文件]->[新建]->[项目]: 点击[确定]后,弹出如下界面: 点击[下一步]: 选择 空项目, 然后点 ...

  6. luogu P2470 [SCOI2007]压缩

    传送门 dalao们怎么状态都设的两维以上啊?qwq 完全可以一维状态的说 设\(f[i]\)为前缀i的答案,转移就枚举从前面哪里转移过来\(f[i]=min(f[j-1]+w(j,i))(j\in ...

  7. 【JS】正则向前查找和向后查找

    正向查找:就是匹配前面或后面是什么内容的,所以分类是:正向前查找,正向后查找 负向查找:就是匹配前面或后面不是什么内容的,所以分类是:负向前查找,负向后查找   操作符 说明 描述 (?=exp) 正 ...

  8. git查看某个文件的提交记录

    git log --pretty=oneline 文件路径/文件名 git show 提交id

  9. 人人开源分模块,非原生html报错,很难查找问题所在,有vue语法

    <!DOCTYPE html> <html> <head> <title>学生表</title> #parse("sys/head ...

  10. RabbitMQ简单应用の消息持久化

    消息应答: 消息应答默认是打开的(false) boolean autoAck = true;自动确认模式,表示一旦MQ将消息给到消费者,就会从内存中删除该条消息,这种情况下,如果杀死正在执行的消费者 ...