【发布时间】:2016-10-13 17:19:24
【问题描述】:
我正在创建一个相当大的 django 项目,它需要两件事。 1)我需要一些模板文件可以在所有应用程序中访问。 2)我需要一个可以在所有应用程序中访问的模型。我该怎么做呢?
就模板而言,似乎将其添加到 TEMPLATES 指令中不起作用。
就模型而言,我是否可以在项目/项目文件夹中包含一个 models.py 或类似的东西,以便所有应用程序都可以访问?
Django 1.10 和 Python 3.5
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['templates'],
'APP_DIRS': True,
'OPTIONS': {
[...]
【问题讨论】:
-
对于模型,您只需将它们导入您的应用程序
from otherapp.models import A, B -
很好,我没有意识到。谢谢。
-
模板不受任何应用程序的限制,所以我不确定你在这里问什么。
-
如果我在应用程序内执行
return render(request,"template.html"),它会在该应用程序内寻找模板文件夹。我想将 template.html 放在project/project/templates文件夹中,而不是project/app/templates文件夹中。 -
根据 djengo 文档,通过在我的 settings.py 中添加
DIRS: []指令的路径,它应该将其添加到模板的搜索路径列表中。 docs.djangoproject.com/en/1.10/ref/settings/…