在 Django 1.8 之前,如果要在项目中使用 HamlPy 很简单,只需要在项目的 settings.py中增加一个配置TEMPLATE_LOADERS 即可。可以参考官方文档:https://github.com/jessemiller/HamlPy
但如果你将 Django 版本升级到Django 1.8.2 (写此文时最高是1.8.2) 后,你就会发现之前的模板文件出问题了:用浏览器访问时直接把模板的原始内容输出来了,并未进行正确的转换。
经排查发现在1.8 中原来的这种用法已经被标注为 Deprected 了(原文链接),如下所示:
正确的做法是将以前的TEMPLATE_LOADERS中的内容,放到 OPTIONS里面的'loaders'配置中,如下所示:
修改前:
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['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', ] }, }, ]
修改后:
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['templates'], 'APP_DIRS': False, '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', ], 'loaders':[ 'hamlpy.template.loaders.HamlPyFilesystemLoader', 'hamlpy.template.loaders.HamlPyAppDirectoriesLoader' ], }, }, ]
在上面的配置中发生了两处变化,
变化一: 'APP_DIRS': True, 变成了 'APP_DIRS': False 也就是说你之前如果将模板文件放到每个 app 下面的话,此时可能必须要移到外面了,或者采用其他方法变通一下。
变化二: 在 OPTIONS 中增加了 loaders的配置,见上面代码。
特此记录,帮大家少走弯路。
相关推荐
django 1.8.2完整中文文档翻译, django 1.8.2完整中文文档翻译, django 1.8.2完整中文文档翻译
django官方文档中文版,html格式,方便大家学习django框架
Django-1.8.2-中文文档,帮助Django开发人员加深理解。
本项目基于Django1.8.2等来开发一个电商平台,可实现注册,登录,浏览,购买,支付等全部常用功能。 运行方式: 修改如下文件的名称:去掉.example 修改settings.example.py为settings.py关联相关参数设置为本地参数...
Django内置了一个后台数据管理系统,经简单配置后,再编写少量代码即可使用完整的后台管理功能。 强大的缓存支持。Django内置了一个缓存框架,并提供了多种可选的缓存方式。 丰富的模板语言。Django模板语言功能丰富...
这个项目基于Django 1.8.2开发,运用MVT三层思想,开发环境为:Linux + pycharm + Django 1.8.2 ,用到的技术主要有:celery ,Fdfs,redis,mysql等。
这是django1.8.2文档中文翻译,取自http://python.usyiyi.cn/translate/django_182/index.html,有兴趣可以看一看
一种基于Vue.js和Django的权限控制方法及系统.pdf一种基于Vue.js和Django的权限控制方法及系统.pdf一种基于Vue.js和Django的权限控制方法及系统.pdf一种基于Vue.js和Django的权限控制方法及系统.pdf一种基于Vue.js和...
前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务。在同事的指引下接触了Celery这个异步任务队列框架,鉴于网上...
django-reactjs-boilerplate, 一个示例,你可以在 Django 项目中使用 ReactJS Django ReactJS样板文件我在 python 用户群新加坡 March 2016 used repository 。我在a meetup第二次 gave,并被 Engineers.SG 记录。...
2022年2月18日,Django 版本已经到了4.0.3 ,这是最新的中文官方文档,网页版的,可以直接本地查看的。网上貌似最新的是 Django 2.1版本的官方文档,做成电子书,Django每个版本差异较大,最好看最新的,相信有关...
django-modeltranslation, 使用注册方法翻译 Django 模型 Modeltranslationmodeltranslation应用程序用于将现有 Django 模型的动态内容转换为任意数量的语言,而不必更改原始模型类。 它使用注册方法( 与 Django ...
为热爱学习的小伙伴提供django4.0官方文档,
创建一个django工程,我使用的django 1.8.2,创建工程后,settings.py中设置中文显示支持定义 LANGUAGE_CODE = 'en-us'#改为zh-Hans 如果改为zh-cn则会报错 报错提示 django IOError: No translation files found ...
Django REST framework 中文文档,Django REST framework 中文翻译文档,Django REST framework 中文翻译
HamlPy, 像模板一样的HAML变换器在 Django 模板中的应用 HamlPy对于希望使用像syntax语法的的开发者来说,HamlPy ( 发音"Haml是一种工具。 HamlPy本身不是模板引擎,只是一个编译器,它将HamlPy文件转换成 Django ...
基于python3.6和Django1.8.2 使用Python Web框架Django开发的一个B2C网上蔬果商城,包含用户、商品、购物车、订单等模块等等,使用了Celery异步任务队列,MySQL数据库,Redis数据库,FastDFS分布式的图片存储服 务...
Django1.8.2中文文档:Django1.8.2中文文档 上传图片配置上传文件保存目录 1)新建上传文件保存目录。 2)配置上传文件保存目录。 后台管理页面上传图片 1)设计模型类。 2)迁移生成表格。 3) 注册模型类。 后台管理...
使用Django框架开发的企业OA管理系统源码 使用Django框架开发的企业OA管理系统源码 使用Django框架开发的企业OA管理系统源码 使用Django框架开发的企业OA管理系统源码 使用Django框架开发的企业OA管理系统源码 ...