Django 重量级
MVT
ORM
管理后台
对于一些官网来说,用Django框架 比较合适
如果网站需求变化特别大,用Django不是特别好
Flask 轻量级
提供的就是路由和视图
对于网站业务变化快 可选用Flask
提现开发者能力,
框架作用:提供路由和视图
init 初始化属性
new 创建实例
.cfg .ini .config 都属于配置文件
Python2
xxx(object) 新式类
xxx() 经典类
Python3
xxx(object)
xxx()
新式类和经典类有区别?
新式类继承 广度继承
经典类继承 深度继承
class A()
def a():
pass
class B(A):
pass
class C (A)
pass
class D(B,C):
pass
经典类
d = D()
d.a()
D->B->A-C
新式类
d = D()
d.a()
D->B->C->A
http://127.0.0.1:5000/
http://127.0.0.1:5000/index
用flask视图和路由搞定这个网页
csrf 怎么防御攻击的
Django的csrf是基于什么实现的,
中间件
在哪个方法中实现的
process_reqeust
路由url()
process_view
process_response
100个视图 99个不需要csrf
csrf装饰器
1个需要
常用的请求方式 GET POST PUT DELETE OPTIONS
200 请求成功。一般用于GET与POST请求
301 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
404 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
405 客户端请求中的方法被禁止
500 服务器内部错误,无法完成请求
htt://127.0.0.1/center/1
url('center/(\d+)',views.center)
path转换器支持/
默认转换器不支持
10.212
10*231
\d+.\d+
\d+\.\d+
转换器的本质就是正则
自定义转换器