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模式等…
好了,今天更新就结束了,虽然知识点少,好歹也是一字一句的写下来,好梦!!