【发布时间】:2019-08-29 11:25:12
【问题描述】:
这是我的项目结构:
myproject
myproject
__init__.py
static
templates
views
__init.py__
home.py
venv
myproject.wsgi
requirements.txt
setup.py
这是我的__init__.py:
from flask import Flask, request, Response, render_template
from myproject.views import home
app = Flask(__name__, static_folder="static", static_url_path='/static')
test_string = "Hello World!"
app.register_blueprint(home.home)
这是我的views/home.py:
from flask import Flask, request, Response, Blueprint
import json
import requests
from myproject import test_string
home = Blueprint('home', __name__)
@home.route('/', methods=['GET'])
def test():
return(test_string)
当我访问该页面时,我收到错误 ImportError: cannot import name test_string。 Python 导入系统真的很混乱,我不确定我在这里做错了什么,但我怀疑这是一个循环导入问题。
我该如何解决这个问题?
【问题讨论】:
-
根据经验,如果您在
__init__.py中有代码,请尽量避免在其中写入可以从其他地方导入的内容。将__init__.py视为有关导入的图表中的叶子,它应该只导入和运行内容。
标签: python flask python-import importerror