2021-08-30 day65

回顾

1-Web应用
	-bs和cs架构:http请求交互
    -mysql,redis:典型的cs架构的软件
    -docker,es:http协议,符合restful规范
    -bs架构好处,客户端不用更新
   	-bs本质也是cs,socket
    -一个线程处理一个连接
2-Http协议
	-请求协议:请求首行,请求头,请求体
    -响应协议:响应首行,响应头,响应体
    -特点:
    	-无状态无连接:会话保持---cookie---session---token
        -基于请求响应:长轮询,websocket协议
        -基于tcp/ip之上的应用层
    -http版本区别

3-Web框架
	-写了一些底层代码,只让开发者关注业务逻辑,在固定的位置写固定代码,完成对一次http请求的处理

4-Django简介
	-python:django,flask,sanic,fastapi,tornado,webpy
    -go:beego,gin....
    -java:spring一统天下,ssh,ssm,springboot,springcloud
	-版本:1.x  2.2.2  3.x
    -MTV:
    -MVC:
    -mvp,mvvm,mvvc(架构,mysql多版本并发控制)
    
5 路由
	-url,path,re_path
    -四个参数('地址,正则表达式',函数内存地址,默认值,别名)
    -有名分组,无名分组
    -路由分发
    -反向解析:视图函数中,模板中使用
    -名称空间(多个app路由名重名)
    -5个转换器
    -自定义转换器(一般不用)
6 视图层
	-视图函数,视图类
    -请求对象(一堆,能够拿出http请求的所有东西)
    -响应对象(四件套,本质都是HttpResponse)
    	-响应头加东西
        -加cookie
        
7 模板层
	-模板语法
    {{}}
    {%%}
    . 深度取值
    
    dic['name']
    dic.get('name')
    test
    
    -模板渲染
    # ================================django模板修改的视图函数
    # from django.template import Template,Context
    # now=datetime.datetime.now()
    # t=Template('<html><body>现在时刻是:<h1>{{current_date}}</h1></body></html>')
    # #t=get_template('current_datetime.html')
    # c=Context({'current_date':str(now)})
    # html=t.render(c)
    #
    # return HttpResponse(html)
    
    render(request,'模板',context)
    # 本质是
    t=get_template('模板')
    c=Context({'current_date':str(now)})
    html=t.render(c) #字符串(dtl执行完成,渲染完的字符串)
    HttpResponse(html)
    
    页面静态化(bbs项目的首页静态化)
    
    -过滤器(内置)
    -标签(内置)
    -自定义标签过滤器
    -inclusion_tag
    -模板的导入和继承
    -静态文件(写死,static标签,get_static_prefix标签)
    
-模型层
	-单表
    -多表
-django与ajax
	-$.ajax({
        
    })
    -请求的编码格式:三种
    -ajax上传文件
    
-分页器

-cookie,session
	-如何设置,获取,修改,删除cookie
    -如何设置,获取,修改,删除session
-中间件
	-process_request
    -process_response
    
-auth
	-9个方法
    -扩展auth表

今日内容

1 前后端开发模式

1 前后端混合
2 前后端分离

2 api接口和restful规范

1 api接口
	-规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介
2 接口文档
	-可以手动写(公司有平台,录到平台里,)
    -自动生成(coreapi,swagger)
    
3 restful规范(10条,规定了这么做,公司可以不采用)
	-1 数据的安全保障,通常使用https进行传输
    -2 域名(会有api标识)
		https://api.example.com 尽量将API部署在专用域名
		https://127.0.0.0:8080/api/     API很简单
    -3 请求地址中带版本,或者在请求头中
		-https://127.0.0.0:8080/api/v1/
   	-4 任何东西都是资源,均使用名词表示 (尽量不要用动词)
    	-https://api.example.com/v1/books/
        -https://api.example.com/v1/get_all_books(不符合规范)
    -5 通过请求方式区分不同操作
    	-get获取
        -post新增数据
        -put/patch:patch是局部更新,put是全部(基本上更新都用put)
        -delete:删除
   	-6 在请求路径中带过滤
    	https://api.example.com/v1/?name='金'&order=asc
        https://api.example.com/v1/name?sortby=name&order=asc
            
   	-7 返回数据中带状态码
    	-http请求的状态码(2,3,4,5-返回的json格式中到状态码(标志当次请求成功或失败)
   	-8 返回数据中带错误信息
    	-错误处理,应返回错误信息,error当做key
        
    -9 对不同操作,返回数据符合如下规范(这只是规范)
    	GET /books:返回资源对象的列表(数组)[{},{},{}]
        GET /books/1:返回单个资源对象    {}
        POST /books:返回新生成的资源对象  {新增的书}
        PUT /books/1:返回完整的资源对象   {返回修改后的}
        PATCH /books/1: 返回完整的资源对象  {返回修改后的}
        DELETE /books/1:  返回一个空文档   
        
        {status:100,msg:查询成功,data:null}
        
    -10 返回结果中带连接
    	

3 postman的使用

1 后端写好接口要测试,后端开发要使用一个工具测试接口(postman)
2 下载---一路下一步--装成功了
3 会发送http请求,get,post请求即可
4 请求地址带参数,请求体带数据,请求头加数据
5 响应cookie,响应头,响应体

4 drf介绍和安装

1 可以更方便的使用django写出符合resful规范的接口(不用也可以写符合规范的接口)
2 是一个app
3 pip3 install djangorestframework
4 https://www.django-rest-framework.org/
    
    
5 简单使用(csrf已经禁用掉了)
#路由
path('test/', views.Test.as_view()),
# 视图类
from rest_framework.views import APIView
from rest_framework.response import Response
class Test(APIView):
    def get(self,request):
        return Response({'name':'lqz','age':'19'})
    def post(self,request):
        return Response({'name': 'egon', 'age': '19'})
# 注册app
INSTALLED_APPS = [
	
    'rest_framework'
]
# 在请求地址中访问
http://127.0.0.1:8001/test/

作业

1 使用apiVIew写一个接口,使用postman掉通即可

2 继续写bbs项目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值