【问题标题】:Flask - Apps in multiple foldersFlask - 多个文件夹中的应用程序
【发布时间】:2018-10-21 09:45:14
【问题描述】:

我正在尝试使用 Flask 和 PythonAnywhere。我在学习时创建了许多 Flask 项目,我想从“主”Flask 页面链接到它们。

Projects
-- Weather
---- app.py
---- static
---- templates

-- Coin Toss
---- app.py
---- static
---- templates

-- etc.

合并所有这些文件/文件夹的最佳方式是什么?

【问题讨论】:

    标签: python flask pythonanywhere


    【解决方案1】:

    PythonAnywhere.com 仅在初学者计划中支持 一个 网络应用。

    最好的解决方案是创建新项目并在app.py index route(endpoint) 中将自定义路由添加到所有其他项目。

    例子:

    /weather -> 路由到天气应用程序,其中来自Weather/app.py 的所有代码都放在/weather 路由中。

    /coin_toss -> 路由到 Coin Toss 应用程序,其中来自 Coin Toss/app.py 的所有代码都放在 /weather 路由中

    /index -> 选择 WeatherCoin Toss 或自定义路线(路径)上的其他项目。

    编辑:

    举例说明你会怎么做

    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
    
        #  Just put all html in index.html
        #  return render_template('index.html')
        return "<body>
        <a href="{{ url_for('coin_toss') }}">Coin Toss</a>
        <a href="{{ url_for('weather_app') }}">Weather App</a>
        ...
    </body>"
    
    
    @app.route("/coin_toss")
    def coin_toss():
    
        # Code for coin toss
    
        return render_template('coin_toss.html')
    
    
    @app.route("/weather_app")
    def weather_app():
    
        # Code for weather app
    
        return render_template('weather_app.html')
    

    【讨论】:

    • 谢谢@Dinko!您能否提供具有此结构的基本 Hello World。我正在苦苦挣扎,找不到任何与我的 Google 技能相关的示例。
    【解决方案2】:

    查看下面的帮助页面,您似乎可以通过使用 DispatcherMiddleware 做您想做的事,让您的应用程序保持其原始结构。

    PythonAnywhere help topic

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-15
      • 1970-01-01
      • 2020-01-08
      • 1970-01-01
      • 2020-12-18
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多