我正在尝试使用Docker在Django中实现多个设置文件。
我有一个设置包,如下所示:
> settings
__init__.py
base.py
testing.py
我使用.yml中的以下命令运行docker-compose:
command: python manage.py runserver 0.0.0.0:8080 --settings=mysite.settings.testing
manage.py文件更新如下:
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings.testing")
我的testing.py
现在只包含以下内容:
from .base import *
我运行dc-up
命令,Django容器启动没有问题。但是,当我尝试加载网页时,它会返回TEMPLATEDOESNOTEXIST错误。
我已尝试将.testing
替换为.base
且错误相同。
我知道它与设置包相关,因为如果我切换回单个settings.py
文件,则没有错误。
感谢任何帮助。
答案 0 :(得分:0)
大约是由错误的模板路径设置引起的问题(在我的情况下,模板设置如下所示):
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
'DIRS': [os.path.join(BASE_DIR, 'templates')]
我将其修复如下:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))