импортировать .py файл из родительского каталога в проект колбы - PullRequest
0 голосов
/ 27 июня 2018

Я столкнулся с проблемой с самого начала моего проекта колбы.

мой проект похож на:

project/--
        |--run.py
        |--fbapp/-------
        |--config.py  |--views.py
                      |--_init_.py
                      |--template/---

ps: run.py, папка fbapp / и config.py находятся в проекте / папке

когда я выполняю views.py, я получаю ошибку:

ImportError: No module named 'config'

Решается, когда я перемещаю файл config.py в каталог fbapp /, но Это приведет к некоторой проблеме, когда я буду использовать библиотеку 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

1 Ответ

0 голосов
/ 27 июня 2018

вы должны добавить: __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 будет беспокоиться об этом.

...