0

Falcon フレームワークを使用しています。すべてのスタンドアロン クラスが独自のディレクトリに格納されるようにします (/module1/ を提供するクラスは、ディレクトリ /module1/ 内にありました)。

/app
   ./app.py
    /modules
        /__init__.py
        /module1
            ...
        /module2
            ...
        ....

app.py では、アプリケーションの初期化を行っています:

import falcon
# falcon.API instances are callable WSGI apps
app=falcon.API()

私の問題:

  1. module2 から module1 にアクセスできるモジュールのインポートをどのように編成する必要がありますか?
  2. /module2 から app.py の app 変数にアクセスする方法:

このコードを実行する必要があります:

module2_mngr = Module2(CONFIG_FILE)
app.add_route('/module2', module2_mngr)

PS: 私の英語でごめんなさい

4

1 に答える 1

0

api.debug.DEBUG フラグに基づいて異なる構成を使用できる簡単な例:

ベースパスを作成します: /somepath/my_app/

フォルダー構造を作成します。

/somepath/my_app/api

/somepath/my_app/api/debug

/somepath/my_app/conf

/somepath/my_app/conf/prod

/somepath/my_app/conf/dev

空のファイルを作成します:

/somepath/my_app/__init__.py 
/somepath/my_app/api/__init__.py
/somepath/my_app/conf/prod/__init__.py
/somepath/my_app/conf/dev/__init__.py

例 main.py (/somepath/my_app/ main.py ):

import api.debug
api.debug.DEBUG = False
import conf

セットアップ api.debug.DEBUG == False

/somepath/my_app/api/debug/__init__.py:

DEBUG = False

シンプルな「ルーター」を作成します。

  • api.debug.DEBUG が True の場合 - 本番構成をロードします。
  • api.debug.DEBUG が False の場合 - 開発構成をロードします。

だから私たちは作成します

/somepath/my_app/conf/__init__.py:

import api.debug
if not api.debug.DEBUG:
    from conf.prod import *
else:
    from conf.dev import *
于 2015-09-09T05:13:49.713 に答える