python后端对应前端什么框架_python进阶:flaskweb框架实现前后端传送信息及ngrok实现外网可见...

【本文导读】文中部分内容摘自网络,如有侵权行为请及时告知,文中有许多不妥之处,欢迎批评指正。主要内容:用flask创建的web框架,实现前端与后端的通信;用ngrok创建的http映射通道,实现外网可见。

一、通过flask创建的web框架,实现前端与后端的通信

(一)用flask框架搭建一个最简单的python3程序

1、后端:python3程序:

# 导入模块,pip install flask

from flask import Flask

# 创建一个Flask类的实例app

app = Flask(__name__)

# 装饰器route(),http的根地址(/)被装载为home函数

@app.route("/")

# 定义被装饰的函数home

def home():

# 将return中的数据返回给http客户端

return ("Hello world!")

# 主程序

if __name__=='__main__':

# 运行app

app.run()

2、前端:在http客户端输入http://127.0.0.1:5000/即可显示:Hello World!

(1)如果用本地电脑上的python3解释器,默认host=“127.0.0.1”与port=5000,不用修改,浏览器地址如上。

(2)如果用虚拟机上的python3解释器,需修改host为“0.0.0.0”,port可以默认,浏览器地址如上。

(3)运行结果:启动app,打开浏览器。用本地电脑上的python3解释器,显示结果如图所示用虚拟机VBox上的python3解释器,显示结果如图所示

3、用模板渲染HTML,搭建一个较完整的python3程序

(1)网站目录结构:

/app.py

/templates

/index.html

/hello.html

/form.html

/signin-ok.html

(2)较完整的python3程序

# 导入模块Flask,pip install flask

from flask import Flask

# 导入模块request

from flask import request

# 导入模板渲染模块

from flask import render_template

# 创建一个Flask类的实例app

app=Flask(__name__)

# 1、一个函数通过一个route()装饰器绑定到一个URL上

# 装饰器route(),http的地址(/index)被装载为index函数

@app.route("/index")

# 定义被装载的函数index

def index():

# 模板渲染index.html

return render_template("index.html")

# 2、一个带参数函数通过多个route()装饰器绑定到多个URL上

# 装饰器route(),http的地址(/hello)被装载为hello函数

@app.route("/hello")

# 装饰器route(),http的地址(/hello/)被装载为hello函数

@app.route("/hello/")

# 定义被装载的函数hello,并带有name参数

def hello(name=None):

# 模板渲染hello.html

return render_template("hello.html",name=name)

# 3、通过request.form接收前端发来的数据

# 装饰器route(),http的地址(/form)被装载为signin_form函数

@app.route("/form",methods=["get"])

def signin_form():

return render_template("form.html")

# 装饰器route(),http的地址(/form)被装载为form函数

@app.route("/form",methods=["post"])

def form():

# 用request.form读取前端表单数据:

username = request.form["username"]

password = request.form["password"]

print("接收到的用户名:",username)

print("接收到的密码:",password)

# 判断用户名(admin),密码(password)

if username =="admin" and password =="password":

# 判断正确,登录成功

return render_template("sign-ok.html",username = username)

else:

# 判断错误,重新登录

return render_template("form.html",message = "Bad username or password!重新登录",username=username)

# 主程序

if __name__=='__main__':

# 启动app

app.run(host='0.0.0.0')

3、运行结果:一个函数通过一个route()装饰器绑定到一个URL上一个带参数函数通过多个route()装饰器绑定到多个URL上

通过request.form接收前端发来的数据

二、通过ngrok创建的http映射通道,实现内网与外网的交互

1、启动python程序:以最简单的python3程序为例

2、启动ngrok程序

(1)下载ngrok:在https://ngrok.com/download下载相应的版本,解压到相应目录。

(2)建立映射通道,在Windows的cmd命令框输入:ngrok http 5000,创建端口映射。

3、打开浏览器:在浏览器中输入相应的映射地址,实现外网可见。

4、运行结果:如下图所示顺序:启动app,启动ngrok,打开浏览器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值