Google App Engine 中通过自定义Django的filter解决时区问题
2008-12-13 20:42
686 查看
之前的解决办法是在前台界面的js里进行时间的转换,这样做不是很好,还发现在IE中显示会有不正确的时候。因此,打算使用Django自定义filter的方式来做。其中有一些需要注意的事项,一不小心就可能弄错,导致页面出错。
目录名必须是:templatetags ,这样Django才能找到它。
目录templatetags的位置。
比如:我的App目录为ncblog(app.yaml所在目录),在ncblog目录下,还有一个目录叫nancy,这时,我在nancy目录下建立一个目录templatetags,同时放置一个空的__init__.py。目录结构如下:
ncblog
---- nancy
---- blog
---- templatetags
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)
1. 添加 templatetags 目录。
需要注意的是:目录名必须是:templatetags ,这样Django才能找到它。
目录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"}}相关文章推荐
- google app engine的缓存服务解决性能问题
- Google App Engine开发问题之javax.servlet.FilterChain is a restricted class
- 解决Google App Engine的中文乱码问题
- Google App Engine Launcher无法启动问题解决
- 初遇 Google App Engine, 更新问题的解决
- 初遇 Google App Engine, 更新问题的解决
- 无法访问appengine.google.com的解决办法
- 解决Windows平台通过cURL上传APP到蒲公英pgyer平台时无法使用中文升级描述的问题
- Google App Engine通过Jenkins增加了持续集成支持
- Django models通过DateTimeField保存到MySQL的时间的时区问题
- Google App Engine 添加JSP文件后上传报JDK错误的解决办法
- Python:通过自定义系统级快捷键来控制程序开始或停止记录日志(使用小技巧解决一个貌似无解的问题)
- 通过自定义ListView解决在scrollView中的嵌套问题
- IOS的APP编译使用第三方库时arc编译不通过问题解决
- Google appengine 上传输错用户名解决办法;
- UITableView获取cell的row值(解决自定义cell里的button通过点击无法获得cell的indexpath的问题)
- 关于上位机与arm使用自定义协议通过串口传输文件时遇到的疑难问题的解决
- Django models通过DateTimeField保存到MySQL的时间的时区问题
- 解决通过dataSource.filter(filters)过滤后分页信息以及聚合列不刷新问题
- 解决iOS8以上系统下app底部UITabBarItem上自定义的背景色和图片,在首次启动或push之后再pop回去会变成系统默认颜色-蓝色问题