| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python-Flask入门,路由route、项目启动、修改网址端口、获取URL地址和参数、Form数据 -> 正文阅读 |
|
[Python知识库]Python-Flask入门,路由route、项目启动、修改网址端口、获取URL地址和参数、Form数据 |
#1、Flask路由基础设置我们在创建好Python-Flask项目后,就可以开始设置路由route。还不会创建Flask项目的小伙伴可以参考前一篇内容。Python-Flask,Anaconda结合Pycharm打造第一个“Hello World“程序_无敌路路帅气的博客-CSDN博客Python-Flask,Anaconda结合Pycharm打造第一个"Hello World"程序https://blog.csdn.net/m0_59562547/article/details/125599134 现代Web应用都会使用有意义的网址URL,而路由的作用就是用@app.route()修饰器来把函数绑定到URL,相当于建立URL网络地址和程序函数的映射关系。我们通过访问URL地址,就能调用相关后端程序,实现相应的功能了。 如下例:Hello路由,返回字符串Hello World; index路由,返回字符串Index Page。 当项目启动后,我们访问http://localhost:5000/?,网页返回Hello World。 http://localhost:5000/hello?,网页返回Index Page。 Flask项目默认端口是5000。
#2、Flask项目启动?2.1 在Pycharm等IDE中直接启动项目。我们可以在app.py(根程序)点击右键Run Flask(app.py),或者右上角启动按钮。 2.2? 在Windows命令提示符或者PowerShell下启动项目。在运行之前,需要cd 到项目目录下,先设置环境变量(重要),在通过命令flask run启动项目。 linux下: $ export FLASK_APP=app.py $ flask run windows 命令提示符cmd下: E:\Python\flaskProject>set FLASK_APP=app.py flask run PowerShell 下: PS E:\Python\flaskProject> $env:FLASK_APP = "app.py"
这样就启动了一个非常简单的测试服务器。 #3、修改访问网址host和端口port系统默认访问网址127.0.0.1,端口5000,如果需要修改,可通过下面两种方式: 3.1?在Pycharm等IDE中启动项目,修改访问网址和端口。?? 在Pycharm 2022.1版本中,打开右上角运行配置,在其他选项中加入代码 --host 127.0.0.2 --port 5050 前者表示访问网址,后者表示端口。 再启动项目,如下,访问地址变为了http://127.0.0.2:5050
3.2? 在Windows命令提示符或者PowerShell下启动项目,修改访问网址和端口。先设置环境变量set FLASK_APP=app.py 再启动项目flask run --host 127.0.0.2 --port 5001 此时项目访问地址变为了http://127.0.0.2:5001
3.3 在外网主机、云服务器、公网等环境中访问,如何设置host网址。项目在公网环境中访问, 需要设置host=0.0.0.0,这样项目的路径ip就是当前服务主机的IP,不写的话只能通过127.0.0.1内网调用。 如下例,这是一台公网服务器,我们将host设置为0.0.0.0,启动项目,将5000端口写入服务器防火墙入栈规则(重要),这样就可以通过服务器主机IP地址进行访问了。 #4、获取URL地址和参数4.1 URL地址作为参数传递后端服务器通过<变量>获取URL参数,再返回给前端,如下例。 注:代码中的escape()是用来转义的,将?&、<、>、' 和 ' 转??换为 HTML 安全序列。
启动服务后我们输入网址http://localhost:5000/user/Mike?,网页返回"User Mike"。 4.2 加入转换器,为变量指定规则。后端服务器通过<转化器:变量>获取URL指定规则的参数,如下例:
启动服务后我们输入http://localhost:5000/getid/99?,网页返回ID is 99,这时这个id是型。 转化器path用于获取网址,带"/"符号,?如下例:
启动服务后我们输入http://localhost:5000/path/static/img/python.jpg?,网页返回 "Subpath static/img/python.jpg,此时static/img/python.jpg就是一个静态网址(文件)"。 附:转换器类型?
4.3 获取URL提交的参数(GET请求)要获取 URL (如?
启动服务后,我们输入http://localhost:5000/book?bookid=115&bookname=西游记?,网页返回"书的ID=115 and 书名=西游记"。 #5、获取Form表单数据(POST请求)?
5.1 我们在Flask项目templates目录下创建一个静态登录页面login.html。action="/login"表示点击提交后跳转到/login接口,method=“post”表示请求方式是post请求,enctype="multipart/form-data"表示编码方式,这里我们传输的是Form数据。
补充知识点1:请求方式
补充知识点2:编码方式:
5.2 我们在app.py后端服务器创建/index登录接口和/login Form信息返回接口。render_template()方法可以渲染并跳转到模板网页,如下例,Flask会在templates目录下寻找login.html模板,然后跳转到该静态网页。 我们在login.html的 Form 表单中输入账号密码后,点击提交,网页跳转到/login接口,该接口通过request.form.get("key")获取表单数据并返回到网页中。
5.3 执行效果启动服务后,我们输入http://localhost:5000/index?,网页跳转到登录页面login.html,我们再输入登录账号密码。 点击提交后,系统跳转到/login接口,并在前台网页中返回账号和密码信息。 ?? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 3:14:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |