欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

flask笔记(一)

程序员文章站 2023-09-07 18:06:36
1、第一个flask项目 2、Flask 和 Django的不同之处 3、Flask框架中一些参数的解释(基于上面的1) `Flask`就是一个类。 生成一个Flask的对象名为app,这就是类的实例化我们去看看Flask需要传什么参数 ,`static_url_path=None static_f ......

1、第一个flask项目

# 首先你要安装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的不同之处

'''
在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)

# 直接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对象,再看下面这段代码

@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模式等...

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