测试开发——flask快速入门小基础

  这几天看群里面的大佬基本上个个被逼相亲,可爱小娟娟还一天相四次(简直了),我们程序员也是很帅的很美的,其实我们的头发也挺多的哈哈哈哈(至少我身边的程序员挺多头发的,当然我linux老师头发有点少),刚刚逛stackoverflow看到一个趣图保存下来了哈哈哈,当然这只是个搞笑图哈哈哈。
在这里插入图片描述
这是前面的重点:
测试开发——搭建一个简单 web服务(flask框架基础)项目实战

一、请求与响应

# coding:utf-8

#请求与响应
from flask import Flask, request, render_template

# 1.初始化application
app = Flask(__name__)


# 2.添加路由 视图函数(view function)
@app.route("/")
def index():
    # 参数的获取:
    littledata = request.args
    name = 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.运行服务器,如果不指定端口,就会默认端口5000
	app.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.args
    name = 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.运行服务器,如果不指定端口,就会默认端口5000
	app.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.args
    name = 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.运行服务器,如果不指定端口,就会默认端口5000
	app.run(port=8003)

运行结果:
在这里插入图片描述

四、Run方法

点击run,就可以看见 host host debug
在这里插入图片描述

host

port

debug

  1. 设置debug=True,每次改动都会重启服务
    设置debug=False,每次改动都不会重启服务
app.run(debug=True)
  1. 设置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.args
    name = 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.args
    name = 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.args
    name = 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.args
    name = 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.args
    name = 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-8

import 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.args
    name = 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欢迎关注这个超级无敌可爱的人鸭,有什么问题留言私信皆可,看见必回!
创作不易,如有转载,请注明出处

最后,祝大家新年快乐,在新的一年做更好的程序员,拿更高工资的程序员!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hanhanwanghaha/article/details/113757411
今日推荐