所以Django 1.4刚刚发布时区支持,但我对如何以及何时利用文档不断提及的"当前时区"感到困惑.我应该何时为用户激活和停用当前时区?
我对Django很新,所以我甚至不确定当前时区的上下文是否适用于特定用户或Web服务器(跨越所有用户).对此的任何澄清都会很棒.
Blu*_*ict 12
Django 1.4中的新功能使得在django模板中呈现用户的本地时间/日期更容易.
首先,您需要设置TIME_ZONE/USE_TZ参数.
然后,为了使用"当前时区"功能,您需要知道用户的时区.可能最可靠的方法是直接询问用户并将此信息保存在用户配置文件/会话中.此外,您可以尝试通过javascript使用getTimezoneOffset()函数设置时区cookie,或尝试按位置执行一些geoip魔术和图形时区.
一旦知道用户的时区值,就可以在中间件中激活它:
class MyTimezoneMiddleware(object):
def process_request(self, request):
user_timezone = request.session.get('current_timezone')
if user_timezone:
timezone.activate(user_timezone)
else:
timezone.deactivate()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2629 次 |
| 最近记录: |