1,Django请求的生命周期
路由系统-视图函数(获取模板+数据->渲染)->字符串返回给用户
2,路由系统
/index/ 函数或类.as_view()
/detail(\d+)/ 函数或类.as_view()
/detail(?P<nid>\d+)/ 函数或类.as_view()(参数)
/detail/ 路由分发include("app01.urls")
/detail/ name='a1' 路由分发include("app01.urls")
视图中:reverse
模板中:{% url "a1"%}
3,视图
FBV:函数 def index(request,*args,**kwargs):
CBV:类 class Home(views.view):
def get(self,request,"args"):
dispatch
获取用户请求中的数据
request.method
request.POST.get
request.GET.get
request.FILES.get
#checkbox,
request.......getlist()
request.path_info 文件对象=request.FILES.get()
文件对象.name
文件对象.size
文件对象.chunks() <form 特殊的设置></form> 给用户返回数据:
HttpResponse
render(request,'index.html模板文件的路径',{'user':user})
redirect("url")
4,模板语言:
render(request,"模板文件的路径",{'obj':1234,'k1':[1,2,3,4],"k2":{'name':'张扬','age':73}) {{obj}} 1234
{{k1.3}}----4
{{k2.name}}----张扬
{% for i in k1 %}
<p> {{i}} </p>
{% endfor %} {% for k in k2.keys %}
<p> {{k}} </p>
{% endfor %} {% for v in k2.values %}
<p> {{row}} </p>
{% endfor %} {% for k,v in k2.items %}
<p> {{k}}-{{v}} </p>
{% endfor %} 5,ORM
a.创建类和字段
class User(models.Model)
uid=models.IntegerField()
name=models.CharField(max_length=12) #字符长度
python manage.py makemigrations
python manage.py migrate #settings.py中注册APP
b.操作,注意字典的操作
增:models.User.objects.create(name='Alex',age=18)
dic={'name':'xx','age':19}
models.User.objects.create(**dic) obj=models.User(name='Jack',age=18)
obj.save() 删:models.User.objects.filter(id=12).delete() 改:models.User.objects.filter(id__gt=1).update(name='Jack')
dic={'name':'xx','age':19}
models.User.objects.filter(id__gt=1).update(**dic) 查:models.User.objects.filter(uid=12)
models.User.objects.filter(uid__gt=12 大于
models.User.objects.filter(uid__lt=12) 小于
models.User.objects.filter(uid__gte=12) 大于等于
models.User.objects.filter(uid__lte=12) 小于等于 dic={'name':'xx','age':19}
models.User.objects.filter(**dic)
6,外键操作
class UserType(models.Model)
caption=models.CharField(max_length=32) #1,普通
#2,VIP用户
#3,游客 class User(models.Model)
uid=models.IntegerField()
name=models.CharField(max_length=12) #字符长度
user_type_id=models.IntergerField() #此时的数值大小没有约束
user_type=models.ForeignKey("UserType",to_field='id') #约束
name age user_type_id
#张扬 18 1
#李四 20 2

Day19内容回顾的更多相关文章

  1. 基本数据类型-集合(set)_上周内容回顾(字符串_数字_列表_元组_字典_集合)

    上周内容回顾 1.字符串 2.数字 除了布尔类型外,int.long.float和complex都可以使用的运算为:加.减.乘.除.整除.幂运算和取余 3.列表和元组 列表的内容可变,可以包含任意对象 ...

  2. python 全栈开发,Day112(内容回顾,单例模式,路由系统,stark组件)

    一.内容回顾 类可否作为字典的key 初级 举例: class Foo(object): pass _registry = { Foo:123 } print(_registry) 执行输出: {&l ...

  3. python 全栈开发,Day72(昨日作业讲解,昨日内容回顾,Django多表创建)

    昨日作业讲解 1.图书管理系统 实现功能:book单表的增删改查 1.1 新建一个项目bms,创建应用book.过程略... 1.2 手动创建static目录,并在目录里面创建css文件夹,修改set ...

  4. Netty源码分析第4章(pipeline)---->第7节: 前章节内容回顾

    Netty源码分析第四章: pipeline 第七节: 前章节内容回顾 我们在第一章和第三章中, 遗留了很多有关事件传输的相关逻辑, 这里带大家一一回顾 首先看两个问题: 1.在客户端接入的时候, N ...

  5. Python并发编程内容回顾

    Python并发编程内容回顾 并发编程小结 目录 • 一.到底什么是线程?什么是进程? • 二.Python多线程情况下: • 三.Python多进程的情况下: • 四.为什么有这把GIL锁? • 五 ...

  6. 04 DRF内容回顾、用户登录 (含跨域) (vuex vue-cookie)、用户认证 (Auth认证)(拦截器)

    1.内容回顾 1.视图中常见的继承 2.频率访问控制源码 3.序列化,反序列化 2.初始化代码 1.后端代码:AuthView (1)目录结构 (2)urls (3)view (4)注释掉cors ( ...

  7. JavaScript内容回顾

    <!DOCTYPE html> <!--JavaScript内容回顾--> <html lang="en"> <head> < ...

  8. CSS作业问题 内容回顾

    CSS作业问题 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  9. 第1节 storm编程:1、storm第一天上次课程内容回顾

    上次课程内容回顾:1.kafka的基本介绍:kafka是一个消息队列2.消息队列的作用:解耦3.kafka与传统消息队列的对比: 传统消息队列:支持事务 kafka的特点:比较快,比较快的两个原因:顺 ...

随机推荐

  1. angular中的$http服务

    $http是ng内置的一个服务.是简单的封装了浏览器原生的XMLHttpRequest对象. 写法1 $http({ method: "GET", url: 'data.json' ...

  2. python实现socket通信

    python实现socket很简单,保证你的环境有响应的python环境就可以,我使用的是socket,demo代码如下: server端程序: # coding:utf-8 import socke ...

  3. Python接口测试实战2 - 使用Python发送请求

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  4. Egret入门(三)--创建HelloWorld项目(4.0-使用Egret Wing)

    准备 编辑器: Egret Wing3(4.0.3) 需要下载安装 语言: TepyScript(JS的超集,参考手册http://bbs.egret.com/thread-1441-1-1.html ...

  5. NO.02---聊聊Vue提升

    如果本篇有看不明白的地方,请翻阅上一篇文章 上一篇我们讲了如何通过一些简单的动作来改变 store.js 中的数据对象,在实际工作中,这是完全无法满足工作需求的,所以这篇我们来说说如何做一些简单的流程 ...

  6. Nginx内容缓存

    本节介绍如何启用和配置从代理服务器接收的响应的缓存.主要涉及以下内容 - 缓存介绍 启用响应缓存 涉及缓存的NGINX进程 指定要缓存的请求 限制或绕过缓存 从缓存中清除内容 配置缓存清除 发送清除命 ...

  7. 微信小程序转换为百度小程序

    据粗略预估,微信小程序和百度小程序,有至少90%以上的相似代码,而且api的参数和返回的数据都是一致的,有一些不一致的将做如下介绍:.wxml文件,改成后辍名.swan.wxss文件,改成后辍名为.c ...

  8. 如何选择 .NET Framework目标版本

    如何选择 .NET Framework目标版本 简介 .NET Framework是所有 .NET程序赖以运行的基础. 版本 到目前位置 .NET Framework共出了: .NET Framewo ...

  9. NUMA 体系架构

    NUMA 体系架构 SMP 体系架构 NUMA 体系架构 NUMA 结构基本概念 Openstack flavor NUMA 策略 Nova 实现 NUMA 流程 1. SMP 体系架构 CPU 计算 ...

  10. Gradle初使用

    我以前一直使用Maven来构建工程,这两天突然发现gradle也非常好用,记录一下自己使用gradle的过程. Gradle的下载与配置 本次选择下载的是gradle3.5版本,没选最新的gradle ...