我按照以下方式重新组织了Django:
config
- settings
- base.py
- local.py
urls.py
wsgi.py
还有应用:
- apps(level0)
- acc(level_1)
- users(level_2)
- templates
- users
- acc_control(level_2)
-att(level_1)
- notes (level_2)
- notifications (level_2)
- mark(level_1)
- config (level0)
- templates(level0)
某些应用程序直接位于应用程序文件夹中,ex标记,其他应用程序位于其他子文件夹中,ex用户
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
我的问题是关于模板访问,因为我收到以下错误:
\apps\acc\users\templates\users\templates\users\detail.html (Source does not exist)
正在重复内部文件夹;
在View
中,模板设置为:
template_name = 'users/templates/users/detail.html'
我也试过了:
template_name = '/users/detail.html'
答案 0 :(得分:2)
设置users/templates/
时,您不需要template_name
前缀。只要您的'APP_DIRS': True
设置中有TEMPLATES
,应用程序目录加载器就会检查每个已安装应用的templates
目录,包括users/templates
template_name = 'users/detail.html'