python - Flask:在副应用程序中创建应用程序说 "ValueError: Attempted relative import in non-package"

标签 python flask

我正在开发一个应用程序,它的结构看起来与

facebook/
         __init__.py
         feed/
             __init__.py
             models.py
             business.py
             views.py
         chat/
             __init__.py
             models.py
             business.py
             views.py

我的 facebook.__init__.py

from flask import Flask
app = Flask(__name__)
import feed.views
import chat.views

我的 facebook.runserver.py

from . import app
app.run(debug=True)

我的 feed.views.py

from .. import app

@app.route('/hello')
def hello():
    return 'hello world'

我的 chat.views.py

from .. import app

@app.route('/chat')
def chat():
    return 'Let's chat'

当我尝试运行此应用程序时,如 python runserver.py,我看到错误为

Traceback (most recent call last):
  File "facebook/runserver.py", line 1, in <module>
    from . import app
ValueError: Attempted relative import in non-package

我该如何解决?

最佳答案

将您的 runserver.py 放在 facebook 文件夹之外,并将其内容设置为:

from facebook import app
app.run(debug=True)

关于python - Flask:在副应用程序中创建应用程序说 "ValueError: Attempted relative import in non-package",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15583841/

相关文章:

python - Pandas merge_asof 问题 : one-to-multiple merge

python - Chainer 中加载的神经网络层的梯度

python - (unittest) 测试 Flask-Security : Cannot get past login page

python - 导入错误:没有名为 'flask.ext' 的模块

python - Airflow 'NoneType' 对象没有属性 'is_paused',如何解决?

python - 将方法从文件导入到类中

python - 如何在 Clojure 中实现递归 DFS(不使用向量/堆栈)

javascript - 无法通过静态 URL 包含外部 javascript 文件

jquery - 比较 if 条件中的输入值

python - flask-sqlalchemy:查询一个表中的记录,在另一个表中没有相关记录(或某个值的记录)