Django 1.9
如何从“机身/ views.py”加载“control / templates / control / emails / fuselage_job_complete”模板?
我想将此模板用于django-emailit。
我试着这样称呼它:
emailit.api.send_mail([task.user.email], {'task': task}, 'emails/fuselage_job_complete')
我收到django.template.exceptions.TemplateDoesNotExist
错误。
还试过这个:
emailit.api.send_mail([task.user.email], {'task': task}, 'control/emails/fuselage_job_complete')
我得到django.template.exceptions.TemplateSyntaxError: 'site' takes at least one argument (path to a view)
。
我的项目结构:
web/
├── control
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── handlers.py
│ ├── __init__.py
│ ├── management
│ │ ├── commands
│ │ │ ├── create_researcher.py
│ │ │ ├── __init__.py
│ │ │ ├── search_alerts.py
│ │ │ ├── sync_omop_tree.py
│ │ │ └── sync_users.py
│ │ ├── __init__.py
│ ├── managers.py
│ ├── migrations
│ │ ├── __init__.py
│ ├── models.py
│ ├── signals.py
│ ├── templates
│ │ └── control
│ │ ├── emails
│ │ │ ├── fuselage_job_complete.body.html
│ │ │ ├── fuselage_job_complete.body.txt
│ │ │ ├── fuselage_job_complete.subject.txt
│ │ ├── json
│ │ │ ├── jsontree.json
│ │ │ └── omoptree.json
│ ├── templatetags
│ │ ├── controltags.py
│ │ ├── __init__.py
│ ├── tests.py
│ ├── urls.py
│ ├── user.py
│ ├── views.py
├── db.sqlite3
├── manage.py
├── static
│ ├── css
│ ├── fonts
│ ├── images
│ ├── js
│ └── resources
├── templates
│ ├── emailit
│ │ └── base_email.body.txt
│ └── registration
├── fuselage
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ ├── __init__.py
│ ├── models.py
│ ├── static
│ │ ├── img
│ │ │ ├── loading.gif
│ │ │ └── loading-sm.gif
│ │ └── fuselage
│ │ ├── css
│ │ └── js
│ ├── templates
│ │ └── fuselage
│ ├── tests.py
│ ├── urls.py
│ ├── views.py
└── rocket
├── __init__.py
├── settings
│ ├── base.py
│ ├── dev.py
│ ├── __init__.py
│ ├── local.py
│ ├── production.py
│ ├── test.py
├── urls.py
├── wsgi.py
我的模板设置:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR, 'templates'),
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages',
'django.core.context_processors.request',
'absolute.context_processors.absolute',
],
},
},
]
答案 0 :(得分:0)
它以这种方式工作emailit.api.send_mail([task.user.email], {'task': task}, 'control/emails/fuselage_job_complete')
,设置正确。电子邮件模板的语法错误。