I am using cookiecutter-django
on my project and having problem while trying to import settings from config outside app.
Getting error ModuleNotFoundError: No module named 'config'
Project structure
project
┣ .envs
┃ ┗ .local
┃ ┃ ┣ .bot
┃ ┃ ┣ .django
┣ bot
┃ ┣ __init__.py
┃ ┗ bot.py
┣ compose
┃ ┣ local
┃ ┃ ┣ django
┃ ┃ ┃ ┣ Dockerfile
┃ ┃ ┃ ┗ start
┃ ┃ ┗ pytelegrambot
┃ ┃ ┃ ┣ Dockerfile
┃ ┃ ┃ ┗ start
┣ config
┃ ┣ settings
┃ ┃ ┣ __init__.py
┃ ┃ ┣ base.py
┃ ┃ ┣ local.py
┃ ┣ __init__.py
┃ ┣ urls.py
┃ ┗ wsgi.py
┣ project
┃ ┣ app
┃ ┃ ┣ migrations
┃ ┃ ┃ ┗ __init__.py
┃ ┃ ┣ admin.py
┃ ┃ ┣ apps.py
┃ ┃ ┣ signals.py
┃ ┃ ┣ models.py
┃ ┃ ┗ views.py
┣ requirements
┃ ┣ base.txt
┣ README.md
┣ local.yml
┣ manage.py
bot.py
import telebot
from config.settings.base import env
bot = telebot.TeleBot(env('BOT_TOKEN'))
def send_welcome(message):
print(message)
if __name__ == '__main__':
bot.infinity_polling()
signals.py
from bot.bot import send_welcome
@receiver(post_save, sender=Model)
def translate(sender, instance, created, **kwargs):
send_wlcome("Hi")
Here I am sending message on telegram bot when object created. If I try to use os.environ['BOT_TOKEN']
it gives me another error from signals.py KeyError: 'BOT_TOKEN'
. BOT_TOKEN is located in .envs/.local/.bot
Please, can anyone help ?