小白学Flask第二天| app对象的初始化和配置

简介: 小白学Flask第二天| app对象的初始化和配置

本文主要内容:


  1. flask应用对象初始化参数说明
  2. 静态文件目录与路由说明
  3. flask的配置参数设置
  4. app的run使用说明



flask应用对象初始化参数说明


昨天我们写了第一个Flask程序,我们来回顾一下代码:


from flask import Flask
# 创建Flask的应用对象
app = Flask(__name__)    # __name__ 就是当前模块的名字
# 装饰器,绑定视图函数的路径
@app.route('/')
def hello_world():
    # 视图函数
    return 'Hello World!'
if __name__ == '__main__':
    # 运行本地服务器进行测试flask程序
    app.run()


今天我们就来详细的讲解每一句的含义,这对于我们新接触一个框架是十分有必要的。


首先我们来说说


app = Flask(__name__)    # __name__ 就是当前模块的名字


__name__是当前模块的名字,可是在第12行的判断语句中写着:


if __name__ == '__main__':    # 运行本地服务器进行测试flask程序    app.run()


难道模板名字叫__main__吗?我应该是我创建的py文件的文件名吗?其实这里有一个小知识点,当我们把某个模板当做启动模板时,那么这个模板的__name__会默认成为__main__,如果不是作为启动模板,也就是我们导入到启动模板当中的模板名称才会是文件的文件名。


image.png


上面这张图就是我们再demo.py文件中直接运行的,也就是说此时的demo.py模板作为了启动模板。



image.png


这张图是我们将demo模板导入到app模板当中,我们可以看到打印出来的模板名称是demo自己本身的文件名。


相信大家大概明白__name__的意思了。



除了__name__这个参数,其实Flask的应用对象还可以放一些参数。


static_url_path: 访问静态资源的url前缀

static_folder: 默认‘static’

template_folder: 默认‘templates’



咱们一个一个来说,首先贴出我们的目录


image.png


static_url_path: 访问静态资源的url前缀


这个参数大部分人会认为就是静态资源的路径,其实大错特错,他只是访问静态资源的一个url前缀,跟路径没有半毛钱关系。


app = Flask(__name__, static_url_path="/python")


例如上面,我把访问静态资源的url前缀改为python,然后我去static文件夹创建一个html文件


image.png


那么我该如何去访问这个html文件呢?


image.png


当我们访问http://127.0.0.1:5000/python/index.html时,发现html源码正常显示。

通过这样的演示,大家应该能够知道static_url_path参数的含义。



讲完这个参数,那么来下一个static_folder: 默认‘static’,其实这个参数才是真正的静态文件的路径,路径可以是绝对路径也可以是相对路径,他所对应的路径就是静态文件所在的地方。


最后一个参数 template_folder: 默认‘templates’ ,这个参数非常容易理解,就是模板文件的目录。



Flask的配置参数设置


有关于Flask的配置有几种方法,我一个一个讲


  1. 通过配置文件来设置


我们首先在根目录创建一个文件 config.cfg


image.png


我们在配置文件中设置一个参数,配置文件写好了,我们回到app.py


我们怎么去使用这个配置文件呢?


app.config.from_pyfile("config.cfg")

通过上面这句代码就OK了,我们看看效果:


image.png



     2.直接进行配置


app.debug = True

直接添加一个即可,当然这种只适用于不需要添加太多的配置参数。


其实还有其他的一些配置方式,但是掌握这两种配置方式就差不多了。



app的run使用说明


在app的run方法中含有两个参数


app.run(host="127.0.0.1", port="5000")


第一个则是你要开启的ip地址,第二个则是你所打开的端口。


相关文章
|
29天前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
79 12
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
7天前
|
Android开发
陪玩APP推送配置:陪玩系统手机锁屏收不到推送?可能是这些原因!解决方案来了!
陪玩系统手机锁屏收不到推送可能由推送服务配置不当、手机系统设置限制、网络不稳定或应用权限不足等原因导致。解决方案包括:确保推送服务正确配置,调整手机后台管理设置,保持网络连接稳定,授予应用必要权限。若问题持续,建议联系客服获取帮助。
|
1月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
36 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
1月前
|
Dart 前端开发 架构师
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
122 26
|
4月前
|
移动开发 开发框架 小程序
uni-app:demo&媒体文件&配置全局的变量(三)
uni-app 是一个使用 Vue.js 构建多平台应用的框架,支持微信小程序、支付宝小程序、H5 和 App 等平台。本文档介绍了 uni-app 的基本用法,包括登录示例、媒体文件处理、全局变量配置和 Vuex 状态管理的实现。通过这些示例,开发者可以快速上手并高效开发多平台应用。
120 0
|
3月前
|
监控 安全 测试技术
正确配置Flask以提高应用的安全性
正确配置Flask以提高应用的安全性
133 65
|
6月前
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
|
5月前
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub的解决之法
An exception occurred while retrieving properties for Event Hub: logicapp. Error Message: 'ClientSecretCredential authentication failed: AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Che
|
6月前
|
开发框架 .NET Windows
【App Service】在App Service中配置Virtual applications and directories,访问目录中的静态文件报错404
【App Service】在App Service中配置Virtual applications and directories,访问目录中的静态文件报错404
|
6月前
|
C++
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub

热门文章

最新文章

  • 1
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
  • 4
    【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
  • 5
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 6
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 7
    【Azure Function】Function App出现System.IO.FileNotFoundException异常
  • 8
    【Azure Logic App】使用MySQL 新增行触发器遇见错误 :“Unknown column 'created_at' in 'order clause'”
  • 9
    阿里云APP备案流程图以及备案所需材料整理,跟着教程一步步操作
  • 10
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程