码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 一个“Hello, World”Flask应用程序


    如果您访问Flask网站,会看到一个非常简单的示例应用程序,只有5行代码。为了不重复那个简单的示例,我将向您展示一个稍微复杂一些的示例,它将为您编写大型应用程序提供一个良好的基础结构。

    应用程序将存在于包中。在Python中,包含__init__.py文件的子目录被视为包,并且可以导入。当你导入一个包时,__init__.py执行并定义包向外界公开的符号。

    让我们创建一个名为app的包,它将承载应用程序。确保你在微博目录下,然后运行以下命令:

    1. from flask import Flask
    2. app = Flask(__name__)
    3. from app import routes

    上面的脚本只是简单地将应用对象创建为从Flask包中导入的Flask类的实例。传递给Flask类的__name__变量是一个Python预定义变量,它被设置为使用它的模块的名称。当需要加载模板文件等相关资源时,Flask会使用这里传递的模块的位置作为起点,我将在第二章中介绍这些资源。对于所有实际用途,传递__name__几乎总是会以正确的方式配置Flask。然后,应用会导入routes模块,这个模块还不存在。

    一开始可能会让人感到困惑的一点是,有两个名为app的实体。app包由app目录和__init__.py脚本定义,并在from app import routes语句中被引用。app变量在__init__.py脚本中被定义为Flask类的一个实例,这使得它成为app包的成员。

    另一个特点是,routes模块是在底部导入的,而不是像以往那样在脚本的顶部。底部导入是针对循环导入的一种解决方案,循环导入是Flask应用程序的一个常见问题。你将看到,routes模块需要导入这个脚本中定义的app变量,所以把其中一个对等导入放在底部,可以避免由于这两个文件之间的相互引用而导致的错误。

    那么在routes模块中都有什么呢?路由是应用程序实现的不同url。在Flask中,应用程序路由的处理程序被写成Python函数,称为视图函数。视图函数被映射到一个或多个路由URL,这样Flask就知道当客户端请求给定的URL时该执行什么逻辑。

    下面是这个应用的第一个视图函数,你需要把它写在一个名为app/routes.py的新模块中:

    1. from app import app
    2. @app.route('/')
    3. @app.route('/index')
    4. def index():
    5. return "Hello, World!"

  • 相关阅读:
    java毕业设计——基于java+Eclipse+jsp的网上手机销售系统设计与实现(毕业论文+程序源码)——网上手机销售系统
    自定义注解实现验证信息的功能
    锐捷RG-UAC统一上网行为管理审计系统信息泄漏漏洞
    解密Prompt系列13. LLM Agent-指令微调方案: Toolformer & Gorilla
    38-数组 _ 一维数组
    AcrelEMS-SW智慧水务能效管理平台在污水处理厂中的应用-Susie 周
    【C语言】错题本(3)
    Unity UGUI的Slider(滑动条)件组的介绍及使用
    使用Spring Boot整合定时任务(Schedule)
    火山引擎数智平台:CDP产品要能与多方联动
  • 原文地址:https://blog.csdn.net/m0_72676510/article/details/134297290
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号