Day19内容回顾
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内容回顾的更多相关文章
- 基本数据类型-集合(set)_上周内容回顾(字符串_数字_列表_元组_字典_集合)
上周内容回顾 1.字符串 2.数字 除了布尔类型外,int.long.float和complex都可以使用的运算为:加.减.乘.除.整除.幂运算和取余 3.列表和元组 列表的内容可变,可以包含任意对象 ...
- python 全栈开发,Day112(内容回顾,单例模式,路由系统,stark组件)
一.内容回顾 类可否作为字典的key 初级 举例: class Foo(object): pass _registry = { Foo:123 } print(_registry) 执行输出: {&l ...
- python 全栈开发,Day72(昨日作业讲解,昨日内容回顾,Django多表创建)
昨日作业讲解 1.图书管理系统 实现功能:book单表的增删改查 1.1 新建一个项目bms,创建应用book.过程略... 1.2 手动创建static目录,并在目录里面创建css文件夹,修改set ...
- Netty源码分析第4章(pipeline)---->第7节: 前章节内容回顾
Netty源码分析第四章: pipeline 第七节: 前章节内容回顾 我们在第一章和第三章中, 遗留了很多有关事件传输的相关逻辑, 这里带大家一一回顾 首先看两个问题: 1.在客户端接入的时候, N ...
- Python并发编程内容回顾
Python并发编程内容回顾 并发编程小结 目录 • 一.到底什么是线程?什么是进程? • 二.Python多线程情况下: • 三.Python多进程的情况下: • 四.为什么有这把GIL锁? • 五 ...
- 04 DRF内容回顾、用户登录 (含跨域) (vuex vue-cookie)、用户认证 (Auth认证)(拦截器)
1.内容回顾 1.视图中常见的继承 2.频率访问控制源码 3.序列化,反序列化 2.初始化代码 1.后端代码:AuthView (1)目录结构 (2)urls (3)view (4)注释掉cors ( ...
- JavaScript内容回顾
<!DOCTYPE html> <!--JavaScript内容回顾--> <html lang="en"> <head> < ...
- CSS作业问题 内容回顾
CSS作业问题 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 第1节 storm编程:1、storm第一天上次课程内容回顾
上次课程内容回顾:1.kafka的基本介绍:kafka是一个消息队列2.消息队列的作用:解耦3.kafka与传统消息队列的对比: 传统消息队列:支持事务 kafka的特点:比较快,比较快的两个原因:顺 ...
随机推荐
- OpenStack入门篇(四)之KVM虚拟机介绍和管理
1.查看虚拟机,启动虚拟机 [root@linux-node1 ~]# virsh list --all Id Name State --------------------------------- ...
- protobuf工程的编译以及使用
一. 获取Protocol Buffer 1.1 获得源码 Github:ProtocolBuffer源码 Git clone之:git clone https://github.com/google ...
- Selenide 阶段性总结介绍(UI自动化测试工具)
今天给大家介绍一个比较新的UI自动化测试工具-- Selenide.确实是比较新的,国内应该还没有多少人用它.在百度和google上你只能搜到一个中文帖子简单介绍了一下.如果你想用这个工具,不可避免的 ...
- 英特尔® 实感™ 前置摄像头 SR300 和 F200 的比较
原文地址 简介 SR300 是支持 Microsoft Windows 10 操作系统的第二代英特尔® 实感™ 前置摄像头. 与 F200 摄像头型号相似,SR300 使用编码光深技术,在更小范围内创 ...
- Redis 哨兵 Sentinel
Redis Sentinel:redis集群应用,分布式系统. 多个Sentinal进程之间通过 gossip 协议来接收主服务器是否下线的信息,通过 Raft 一致性协议来决定故障转移及转移服务 ...
- 4星|《财经》2018年第15期:电动飞机、无人小飞机、AI无人机
<财经>2018年第15期 总第532期 旬刊 本期主题是AI.有多篇国内AI行业的比较深入的调查报告,比较有意思的有:电动飞机.无人小飞机.AI无人机.欧盟通用数据保护条例.Amazon ...
- 152.[LeetCode] Maximum Product Subarray
Given an integer array nums, find the contiguous subarray within an array (containing at least one n ...
- 第五章—if语句
5-1 条件测试 :编写一系列条件测试:将每个测试以及你对其结果的预测和实际结果都打印出来.你编写的代码应类似于下面这样: car = 'subaru' print("Is car == ' ...
- Blockchain For Dummies(IBM Limited Edition
Blockchain For Dummies(IBM Limited Edition)笔记 该系列内容主要介绍用于商业的区块链,有人说区块链之于贸易,犹如因特网之于信息.在商业领域区块链可以用于交易任 ...
- ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
在用c#生成应用程序的时候,读写dbf时,open方法出错 ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 以前这个程序是用着好 ...