如何使用文件夹作为模块在 pythonanywhere 上部署 Flask 应用程序

目前我正在尝试在 PythonAnywhere 上部署我的第一个 FLASK 应用程序。

我不确定这是否是正确的术语,但我有一个文件夹作为模块,因为我似乎无法找到部署我的应用程序的正确方法。我什至不确定从哪里开始解决这个问题。有什么建议吗?

http://img4.mukewang.com/613c58820001660103360638.jpg

我的init .py 代码是:


import os


from flask import Flask



def create_app(test_config=None):

    # create and configure the app

    app = Flask(__name__, instance_relative_config=True)

    app.config.from_mapping(

        SECRET_KEY='secret',

        DATABASE=os.path.join(app.instance_path, 'LAMA.sqlite'),

    )


    if test_config is None:

        # load the instance config, if it exists, when not testing

        app.config.from_pyfile('config.py', silent=True)

    else:

        # load the test config if passed in

        app.config.from_mapping(test_config)


    # ensure the instance folder exists

    try:

        os.makedirs(app.instance_path)

    except OSError:

        pass


    # database

    from . import db

    db.init_app(app)


    # authentication blueprint

    from . import auth

    app.register_blueprint(auth.bp)



    # blog blueprint - the main index

    # from . import blog

    # app.register_blueprint(blog.bp)

    # app.add_url_rule('/', endpoint='index')


    # book blueprint 

    from . import book

    app.register_blueprint(book.bp)

    app.add_url_rule('/', endpoint='index')


    return app

我还关注了 python 调试页面,我已经完成了以下操作:


>>> import LAMA

>>> print(LAMA)

<module 'LAMA' from '/home/ivanv257/LAMA_MAIN/LAMA/__init__.py'>

所以在我的 WSGI 配置文件的这个阶段,我有:


import sys


path = '/home/ivanv257/LAMA_MAIN/LAMA/__init__.py'

if path not in sys.path:

    sys.path.append(path)


from LAMA import app as application

我还尝试了许多其他组合,例如


path = '/home/ivanv257/LAMA_MAIN/LAMA/'

from init import app as application


path = '/home/ivanv257/LAMA_MAIN/'

from init import app as application


path = '/home/ivanv257/LAMA_MAIN/'

from LAMA import app as application

我的源代码路径是: /home/ivanv257/LAMA_MAIN/LAMA ,虽然我也尝试过不同的组合,例如 /home/ivanv257/LAMA_MAIN/

回首忆惘然
浏览 301回答 2
2回答

慕盖茨4494581

为了解决我的问题,我从 lama import create_app 更改了以下内容(在一些帮助下):import syspath = '/home/ivanv257/LAMA_MAIN/LAMA'if path not in sys.path:&nbsp; &nbsp; sys.path.append(path)from lama import create_appapplication = create_app()我还必须从 . 只进口&nbsp; &nbsp; import db&nbsp; &nbsp; db.init_app(app)&nbsp; &nbsp; # authentication blueprint&nbsp; &nbsp; import auth&nbsp; &nbsp; app.register_blueprint(auth.bp)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python