flask笔记(一)

2020-01-21 15:05:01 浏览数 (1)

1、第一个flask项目

代码语言:javascript复制
# 首先你要安装flask这个模块
pip install flask

# 安装好了之后,直接新建一个py文件,开始写最简单的flask项目了

from flask import Flask

app = Flask(__name__)

@app.router("/")
def index():
    return "helle flask"
    
if __name__ == "__main__":
    app.run()
    
# 开始flask的两种方式
# 方式一:直接右键鼠标,再点击运行这个py文件
# 方式二:cmd进入到当前的目录,执行 python py文件

2、Flask 和 Django的不同之处

代码语言:javascript复制
'''
在python中,较出名的就是django和flask了
一说到django,大家都知道这是一个重量级的框架,flask呢就是一个轻量级的框架
django这个框架为我们准备了什么?(意思是不需要安装插件就能供我们使用,只写几点)
1、orm
2、模板语言
3、uwsgi
4、用户验证
5、邮件
6、缓存机制
7、admin后台管理系统
8、....

而flask呢:
1、werkzeug
2、jiaja2
3、...

看了上面两个对比,就是应该知道为什么了吧,虽然flask自身提供的较少,但是flask有不少的插件供我们使用。

django优点:能快速的搭建一个大一点的项目,很多配置都帮你已经配置好了
      缺点:可扩展性较flask而言差,比如orm必须用django的
      
flask优点:flask比较灵活,扩展性好,可随自己需求使用插件,适合快速搭建小一点的项目
     缺点:写起来较复杂,因为很多需要自己去完善功能
     
不管是flask,django或者大部分其他web框架,都为你写好了符合wsgi协议的服务器,所以说我们使用框架不必再去关心客户端和服务端之间的通信了,只需专注于业务逻辑上的发开。

'''

3、Flask框架中一些参数的解释(基于上面的1)

代码语言:javascript复制
# 直接copy上面的代码吧
from flask import Flask

app = Flask(__name__)

@app.router("/")
def index():
    return "helle flask"
    
if __name__ == "__main__":
    app.run()

from flask import Flask 中的 Flask就是一个类。

app = Flask(__name__) 生成一个Flask的对象名为app,这就是类的实例化我们去看看Flask需要传什么参数

import_name,static_url_path=None,static_folder='static' ,template_folder='templates',可以发现

就一个位置参数,其他的都是关键字参数,这些关键字参数都是有默认值的,所以我们传的参数__name__肯定

是传给了import_name了。

import_name看名字大概意思是导入的名字,那么我们__name__的值是__main__对吧,因为当前这个py文件就是启动文件,flaks它会以当前模块所在的目录为总目录,如果当前这个模块不存在的话,那么就会以当前文件所在的目录为总目录。有什么用呢?再看后面

static_filder='static' 意思是静态文件存放的目录应该为static文件夹

template_folder='templates'意思是模板文件存放的目录应该为templates文件夹

当然静态文件目录和模板文件目录你都可以修改,但是一般不会改,你改了的话,万一别人看你的项目会懵逼

static_url_path=None它的作用就是浏览器访问静态文件的路径,这里的值为None,你可以在浏览器中输入

127.0.0.1:8000/static/文件名 flask默认端口号我忘记了,就写django的吧

如果你改为这样static_url_path=flask 那么你访问静态文件的url为 127.0.0.1:8000/flask/文件名

我们可以知道app就是一个Flask对象,再看下面这段代码

代码语言:javascript复制
@app.router("/")
def index():
    return "helle flask"

# 在django中我们写路由关系是在app中的urls写好路径和视图函数的映射关系
# 在flask也是有路径和视图函数的映射关系的,它就是通过上面这段代码实现,通过装饰器实现,具体后面再说
# 那么我们访问127.0.0.1:8000/这个url 便会映射到index这个函数

app.run() 这就是开始我们flask项目的命令

run()就是Flask对象一个方法了,它可以传一些参数,比如ip,端口,是否开启DEBUG模式等...

好了,今天更新就结束了,虽然知识点少,好歹也是一字一句的写下来,好梦!!

0 人点赞