Я склонен использовать один и тот же шаблон проекта для большинства моих проектов Django. До сих пор я использовал copy-paste для использования шаблона в разных проектах. (Извините! Я не знал о опции --template
, которая поставляется с django-admin
.)
Я узнал о опции --template
с django-admin
некоторое время назад, и у меня возник вопрос по поводу того же.
В вышеупомянутом шаблоне, который я использую для своих проектов, есть несколько распространенных приложений Django, а именно accounts
для обработки аутентификации пользователя, pages
для обработки запроса на такие страницы, как «О нас», «Контакт» и т. Д., Инекоторые общие шаблоны Django, такие как base.html
, шаблоны для электронной почты для активации учетной записи и электронной почты для сброса пароля.
Некоторые из общих шаблонов Django (например, шаблон входа) содержат в себе base.html
. Вот где возникает проблема.
Я получаю сообщение об ошибке django.template.exceptions.TemplateDoesNotExist: base.html
, когда пытаюсь использовать шаблон моего проекта с новым проектом.
Трассировка:
$ django-admin startproject --template=/home/alfarhanzahedi/Projects/django-boilerplate/project_name --extension=py,html simpleqa
Traceback (most recent call last):
File "/home/alfarhanzahedi/Projects/temp/venv/bin/django-admin", line 10, in <module>
sys.exit(execute_from_command_line())
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/core/management/base.py", line 323, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/core/management/base.py", line 364, in execute
output = self.handle(*args, **options)
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/core/management/commands/startproject.py", line 20, in handle
super().handle('project', project_name, target, **options)
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/core/management/templates.py", line 154, in handle
content = template.render(context)
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/template/base.py", line 171, in render
return self._render(context)
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/template/base.py", line 163, in _render
return self.nodelist.render(context)
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/template/base.py", line 937, in render
bit = node.render_annotated(context)
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated
return self.render(context)
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/template/loader_tags.py", line 176, in render
template = context.template.engine.get_template(template_name)
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/template/engine.py", line 143, in get_template
template, origin = self.find_template(template_name)
File "/home/alfarhanzahedi/Projects/temp/venv/lib/python3.7/site-packages/django/template/engine.py", line 129, in find_template
raise TemplateDoesNotExist(name, tried=tried)
django.template.exceptions.TemplateDoesNotExist: base.html
Настройки в settings.py
правильно настроен, так как шаблон проекта, кажется, работает нормально через python manage.py runserver
. Все шаблоны Django загружаются правильно.
Я знаю, что включение шаблонов Django в шаблон проекта предлагает очень небольшую помощь (или гибкость?), Но я просто хотел знать, есть ли решение для этой ошибки!
Я вижу, что есть опция --settings
с django-admin startproject
. Я пытался использовать его, но безрезультатно!
Есть ли решение этой проблемы?
Спасибо!