我从我的烧瓶项目的开始就遇到了一个问题。
我的项目就像:
project/--
|--run.py
|--fbapp/-------
|--config.py |--views.py
|--_init_.py
|--template/---
ps:run.py,文件夹fbapp /和config.py在项目/文件夹中
当我执行views.py时,出现错误:
ImportError: No module named 'config'
当我在fbapp /目录中移动config.py文件时,它可以解决,但是 当我将使用SQLAlchemy库时,它将导致一些问题。 我需要在同一目录中有config.py和run.py。
views.py:
from flask import Flask
app = Flask(__name__)
# Config options - Make sure you created a 'config.py' file.
app.config.from_object('config')
# To get one variable, tape app.config['MY_VARIABLE']
@app.route('/')
def index():
return "Hello world !"
if __name__ == "__main__":
app.run()
config.py:
SECRET_KEY = 'some_secret_key'
FB_APP_ID = 000011112222333444
__init__
。py:
from flask import Flask
from .views import app
先谢谢您
整个项目在这里:https://github.com/oc-courses/concevez_un_site_avec_flask/tree/P1C2
答案 0 :(得分:0)
您必须在包中添加__init__.py
(空)文件,否则找不到该模块:
project/--
|--__init__.py #this tells python interpreter project is a python module
|--fbapp/------
|--run.py |--template/---
|--config.py |--views.py
|--__init__.py #this tells python interpreter fbapp is a python module
如果您不将文件夹“声明”为python模块,则无法从其中导入
因此在views.py
中,您必须做:
from fbapp.config import <what you need>
PS:我的建议是在python中通过IDE接口创建“模块”,因此IDE本身会为此而烦恼。