dlr*_*ust 81
放置在<PROJECT>/<APP>/templates/<APP>/template.html特定于应用程序的模板中,以帮助使应用程序在其他地方重用.
对于我将它们放入的一般"全局"模板 <PROJECT>/templates/template.html
Dom*_*ger 49
从Django书中,第4章:
如果您无法想到放置模板的明显位置,我们建议您在Django项目中创建一个模板目录(例如,在第2章中创建的mysite目录中,如果您一直关注我们的示例).
这正是我的工作,对我来说非常有用.
我的目录结构如下所示:
/media我所有的CSS/JS /图像等
/templates我
/projectname的主项目代码模板(即Python代码)
小智 9
跟随多米尼克和dlrust,
我们使用setuptools源代码分发(sdist)来打包我们的django项目和应用程序,以便在我们的不同环境中进行部署.
我们发现模板和静态文件需要位于django应用程序目录下,以便它们可以通过setuptools打包.
例如,我们的模板和静态路径如下所示:
PROJECT/APP/templates/APP/template.html
PROJECT/APP/static/APP/my.js
Run Code Online (Sandbox Code Playgroud)
为此,需要修改MANIFEST.in(请参阅http://docs.python.org/distutils/sourcedist.html#the-manifest-in-template)
MANIFEST.in的一个例子:
include setup.py
recursive-include PROJECT *.txt *.html *.js
recursive-include PROJECT *.css *.js *.png *.gif *.bmp *.ico *.jpg *.jpeg
Run Code Online (Sandbox Code Playgroud)
此外,您需要在django设置文件中确认app_directories加载程序位于TEMPLATE_LOADERS中.我认为它在django 1.4中默认存在.
django设置模板加载器的示例:
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
Run Code Online (Sandbox Code Playgroud)
万一你想知道为什么我们使用sdists而不是仅仅处理rsync文件; 它是我们配置管理工作流程的一部分,我们将单个构建tarball与PIP一起部署到测试,验收和生产环境中.
小智 7
DJANGO 1.11
添加manage.py所在的模板文件夹,这是您的基本目录.在settings.py中更改模板的DIRS,如下所示
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
Run Code Online (Sandbox Code Playgroud)
]
现在使用代码使用模板,
def home(request):
return render(request,"index.html",{})
Run Code Online (Sandbox Code Playgroud)
在views.py中.这对于django 1.11来说完全没问题
| 归档时间: |
|
| 查看次数: |
40880 次 |
| 最近记录: |