我知道这个问题以前经常被问过,但没有其他人帮我解决问题。 我从运行在Elastic Beanstalk上的Django应用程序中获取了TemplateDoesNotExists,有趣的部分是:
在该文件夹中输入ls -hal
,我可以看到两者具有相同的用户/组/权限:
-rw-rw-rw- 1 wsgi root 2.2K 3月22日16:12 BaseEmailTemplate.html
-rw-rw-rw- 1 wsgi root 312 Mar 22 16:12 DefaultNewsletterTemplate.html
在我的本地机器上我没有问题(#34;适用于我的机器" TM:D)
现在,该模板( DefaultNewsletterTemplate.html )的特殊性正在被加载"手动"使用loader.get_template
:
from django.template.loader import get_template
get_template('the_app/the_template.html')
因为我使用它来在Celery任务中呈现我的简报......但是再次对于用于每次电子邮件通信的 BaseEmailTemplate.html 也是如此( DefaultNewsletterTemplate.html 扩展它)...所以发生了什么?我该怎么做?
答案 0 :(得分:1)
解决! 事实证明,问题与Celery使用的用户(并由Supervisor管理)有关,而这些用户没有正确的权限。使用root用户完美无缺!