Google App Engine 中通过自定义Django的filter解决时区问题

简介:

之前的解决办法是在前台界面的js里进行时间的转换,这样做不是很好,还发现在IE中显示会有不正确的时候。因此,打算使用Django自定义filter的方式来做。其中有一些需要注意的事项,一不小心就可能弄错,导致页面出错。

1. 添加 templatetags 目录。

需要注意的是:

  1. 目录名必须是:templatetags ,这样Django才能找到它。
  2. 目录templatetags的位置。
    比如:我的App目录为ncblog(app.yaml所在目录),在ncblog目录下,还有一个目录叫nancy,这时,我在nancy目录下建立一个目录templatetags,同时放置一个空的__init__.py。目录结构如下:
    ncblog
            ---- nancy
                    ---- blog
                    ---- templatetags

2. settings.py中设置INSTALLED_APPS

为了能找到 templatetags,我们需要在settings.py中的NSTALLED_APPS添加一个路径,比如我添加:

复制代码
INSTALLED_APPS  =  (
    
' django.contrib.auth ' ,
    
' django.contrib.contenttypes ' ,
    
' django.contrib.sites ' ,
    
' nancy ' # 我添加的这个
)
复制代码

 3. 开始编写我们的filter

在 templatetags目录下建立任意文件名的文件,如:filters.py,我们现在是要做一个时区的转换filter,因此代码如下:

复制代码
from  django  import  template
from  datetime  import  timedelta
register 
=  template.Library()
def  timezone(value, offset):
    
return  value  +  timedelta(hours = offset)
register.filter(timezone)
复制代码

4. 在模板文件的开头加上{% load filters %},然后就可以这样使用了:

{{log.date | timezone: 8 | date: " Y-m-d H:i:s " }}

 


本文转自CoderZh博客园博客,原文链接:http://www.cnblogs.com/coderzh/archive/2008/12/13/1354381.html,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
JavaScript 前端开发 API
Google Earth Engine(GEE)扩展——制作的GEE app的误区
Google Earth Engine(GEE)扩展——制作的GEE app的误区
61 0
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
165 0
|
2月前
|
数据库 Python
使用 Django 中的 filter 方法进行数据查询
在 Django 中,QuerySet 的 filter() 方法是一个强大的工具,用于从数据库中检索数据并根据指定的条件进行筛选。在本文中,我们将介绍如何使用 filter() 方法来执行各种类型的数据查询操作。
|
21天前
|
数据安全/隐私保护 Python
必知的技术知识:django自定义分页器
必知的技术知识:django自定义分页器
|
2月前
|
运维 监控 Serverless
Serverless 应用引擎产品使用之阿里函数计算中在自定义环境下用debian10运行django,用官方层的python3.9,配置好环境变量后发现自定义层的django找不到了如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
2月前
|
数据处理 数据库 开发者
Django中的自定义管理命令:扩展管理功能的途径
【4月更文挑战第15天】Django教程:介绍如何创建和使用自定义管理命令以扩展框架功能。在应用的`management/commands`目录下创建Python文件,继承`BaseCommand`,实现`handle`方法。示例代码展示了如何定义参数和执行逻辑。自定义命令适用于批量数据处理、定期任务、项目初始化和自定义迁移操作。注意文件位置、命令安全性和稳定性。自定义管理命令能提升开发和维护效率。
|
2月前
|
运维 监控 Dubbo
SAE(Serverless App Engine)和FC(Function Compute)
【1月更文挑战第18天】【1月更文挑战第89篇】SAE(Serverless App Engine)和FC(Function Compute)
124 1
|
2月前
Google Earth Engine APP(GEE)—— 一个简单的加载影像的UI(RGB,NDWI和NDVI)这里使用时间滑块进行时间选择
Google Earth Engine APP(GEE)—— 一个简单的加载影像的UI(RGB,NDWI和NDVI)这里使用时间滑块进行时间选择
64 0
|
2月前
|
机器学习/深度学习 编解码 算法
Google Earth Engine APP(GEE)——加拿大陆地生态系统中的土壤碳储量数据集
Google Earth Engine APP(GEE)——加拿大陆地生态系统中的土壤碳储量数据集
54 0
|
4天前
|
Android开发 Kotlin
kotlin开发安卓app,如何让布局自适应系统传统导航和全面屏导航
使用`navigationBarsPadding()`修饰符实现界面自适应,自动处理底部导航栏的内边距,再加上`.padding(bottom = 10.dp)`设定内容与屏幕底部的距离,以完成全面的布局适配。示例代码采用Kotlin。
39 15