这几天看群里面的大佬基本上个个被逼相亲,可爱小娟娟还一天相四次(简直了),我们程序员也是很帅的很美的,其实我们的头发也挺多的哈哈哈哈(至少我身边的程序员挺多头发的,当然我linux老师头发有点少),刚刚逛stackoverflow看到一个趣图保存下来了哈哈哈,当然这只是个搞笑图哈哈哈。
https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)
这是前面的重点:
测试开发——搭建一个简单 web服务(flask框架基础)项目实战
flask
- 一、请求与响应
- 二、结合前端![在这里插入图片描述](https://img-blog.csdnimg.cn/20210209131635270.gif#pic_center)
- 返回html文件
- CSS样式
- 三、结合后端
- 四、Run方法
- host
- port
- debug
- 五、flask 中的配置项config
- 六、路由
- 引入装饰器,装饰器要放到@app.route()里面
一、请求与响应
# coding:utf-8#请求与响应
from flask import Flask, request, render_template# 1.初始化application
app = Flask(__name__)# 2.添加路由 视图函数(view function)
@app.route("/")
def index():# 参数的获取:littledata = request.argsname = littledata.get('username')print(name)return "Hello,thi s is index!"#响应为html格式#return "<p style ='color:green'>Hello,thi s is index!</p>"#如果返回加载一个文件#return render_template('login.html')if __name__ == "__main__":
# 2.运行服务器,如果不指定端口,就会默认端口5000app.run(port=8003)
运行结果:
注意:如果我们返回加载一个html文件,在文件外部直接新建一个templates文件夹,因为我点开Flask的接口进去就可以看见关于它的用法。
二、结合前端
返回html文件
将你所需要跳转的Html文件写进去,文件目录例如
源码:
login.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>你真的很棒!</title>
</head>
<body><a href="https://blog.csdn.net/hanhanwanghaha">CSDN搜索关注:我一个超级无敌可爱的人鸭 </a></body>
</html>
flask_one.py
# coding:utf-8#请求与响应
from flask import Flask, request, render_template# 1.初始化application
app = Flask(__name__)# 2.添加路由 视图函数(view function)
@app.route("/")
def index():# 参数的获取:littledata = request.argsname = littledata.get('username')print(name)#return "Hello,thi s is index!"#响应为html格式#return "<p style ='color:green'>Hello,thi s is index!</p>"#如果返回加载一个文件return render_template('login.html')if __name__ == "__main__":
# 3.运行服务器,如果不指定端口,就会默认端口5000app.run(port=8003)
运行结果
CSS样式
点击Flask函数,有个这样的定义:
于是在我的项目下面新建一个文件夹名为:static,写一个样式
再在我的Html中引入css样式
最后,运行一下
注意:其实这个文件的名字是可以改的,如
https://blog.csdn.net/hanhanwanghaha
我的官方原文地址,欢迎搜索加关注!
盗文章者垃圾人是也,盗者必究!
三、结合后端
static_folder
与static_url_path不同的是, static_folder会告诉程序,我的静态文件放在硬盘的位置,而static_url_path是告诉程序处理静态文件的url路径
eg:
# coding:utf-8#请求与响应
from flask import Flask, request, render_template# 1.初始化application
app = Flask(__name__,template_folder="bbb",static_url_path="/ooo",static_folder="ooo")# 2.添加路由 视图函数(view function)
@app.route("/")
def index():# 参数的获取:littledata = request.argsname = littledata.get('username')print(name)#return "Hello,thi s is index!"#响应为html格式#return "<p style ='color:green'>Hello,thi s is index!</p>"#如果返回加载一个文件return render_template('login.html')
if __name__ == "__main__":
# 3.运行服务器,如果不指定端口,就会默认端口5000app.run(port=8003)
运行结果:
四、Run方法
点击run,就可以看见 host host debug
host
port
debug
- 设置debug=True,每次改动都会重启服务
设置debug=False,每次改动都不会重启服务
app.run(debug=True)
- 设置debug=True,显示具体错误到前端(当然这个最好不要随便用,因为你已经把你的漏洞告诉别人,别人就会分析你的漏洞,so很容易遭到攻击!)
五、flask 中的配置项config
我们可以通过config去获取到我们配置好的选项
# coding:utf-8#请求与响应
from flask import Flask, request, render_template# 1.初始化application
app = Flask(__name__,template_folder="bbb",static_url_path="/ooo",static_folder="ooo")app.config["debug"]=True
app.config["port"]=8003# 2.添加路由 视图函数(view function)
@app.route("/")
def index():# 参数的获取:littledata = request.argsname = littledata.get('username')print(name)#return "Hello,thi s is index!"#响应为html格式#return "<p style ='color:green'>Hello,thi s is index!</p>"#如果返回加载一个文件return render_template('login.html')# 3.运行服务器,如果不指定端口,就会默认端口5000
if __name__ == "__main__":app.run(port=app.config["port"],debug=app.config["port"])
六、路由
如果说我们想使用多个路径都显示login.html页面该怎么办呢?例如
# coding:utf-8#请求与响应
from flask import Flask, request, render_template# 1.初始化application
app = Flask(__name__,template_folder="bbb",static_url_path="/ooo",static_folder="ooo")# 2.添加路由 视图函数(view function)
@app.route("/")
def index():# 参数的获取:littledata = request.argsname = littledata.get('username')print(name)#return "Hello,thi s is index!"#响应为html格式#return "<p style ='color:green'>Hello,thi s is index!</p>"#如果返回加载一个文件return render_template('login.html')
@app.route("/login")
def login():# 参数的获取:littledata = request.argsname = littledata.get('username')print(name)#return "Hello,thi s is index!"#响应为html格式#return "<p style ='color:green'>Hello,thi s is index!</p>"#如果返回加载一个文件return render_template('login.html')@app.route("/cute")
def cute():# 参数的获取:littledata = request.argsname = littledata.get('username')print(name)#return "Hello,thi s is index!"#响应为html格式#return "<p style ='color:green'>Hello,thi s is index!</p>"#如果返回加载一个文件return render_template('login.html')# 3.运行服务器,如果不指定端口,就会默认端口5000
app.run(port=8003)
但可以简化为:
# coding:utf-8# 请求与响应
from flask import Flask, request, render_template# 1.初始化application
app = Flask(__name__,template_folder="bbb",static_url_path="/ooo",static_folder="ooo")# 2.添加路由 视图函数(view function)
@app.route("/login")
@app.route("/cute")
@app.route("/")
def index():# 参数的获取:littledata = request.argsname = littledata.get('username')print(name)# return "Hello,thi s is index!"# 响应为html格式# return "<p style ='color:green'>Hello,thi s is index!</p>"# 如果返回加载一个文件return render_template('login.html')# 3.运行服务器,如果不指定端口,就会默认端口5000
app.run(port=8003)
引入装饰器,装饰器要放到@app.route()里面
# coding:utf-8import time
# 请求与响应
from flask import Flask, request, render_template# 1.初始化application
app = Flask(__name__,template_folder="bbb",static_url_path="/ooo",static_folder="ooo")# 装饰器 打印时间
def log_time(f):def decorator(*args, **kw):print(f'{time.time()}')return f(*args, **kw)return decorator# 2.添加路由 视图函数(view function)
@app.route("/login")
@app.route("/cute")
@app.route("/")
@log_time
def index():# 参数的获取:littledata = request.argsname = littledata.get('username')print(name)# return "Hello,thi s is index!"# 响应为html格式# return "<p style ='color:green'>Hello,thi s is index!</p>"# 如果返回加载一个文件return render_template('login.html')# 3.运行服务器,如果不指定端口,就会默认端口5000
app.run(port=8003)
接下来就会详细记录flask 路由,后面继续更博!
https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
如有转载,请注明出处(如不注明,盗者必究)
最后,祝大家新年快乐,在新的一年做更好的程序员,拿更高工资的程序员!