python – Django在模板中获取用户时区
发布时间:2020-12-20 13:42:23 所属栏目:Python 来源:网络整理
导读:我在UTC中保存日期.我不想将该日期更改为自动用户时区. 我的设置 USE_TZ = True 我的模板 {% for sale in sales %} date : {{sale.date}}{% endfor %} 我试过django-tz-detect https://github.com/adamcharnock/django-tz-detect 但我无法正确实现. 请提出一
我在UTC中保存日期.我不想将该日期更改为自动用户时区.
我的设置 USE_TZ = True 我的模板 {% for sale in sales %} date : {{sale.date}} {% endfor %} 我试过django-tz-detect https://github.com/adamcharnock/django-tz-detect 但我无法正确实现. 请提出一个解决此问题的好方法. 解决方法
我从
here获得了解决方案
我创建了一个视图功能 @login_required @ajax_required @require_GET def set_user_timezone(request): timezone = request.GET.get('timezone') request.session["set_user_timezone"] = timezone response_data = {} response_data['status'] = 'true' response_data['message'] = 'user timezone set successfully.' return HttpResponse(json.dumps(response_data),mimetype='application/javascript') 上下文 if "set_user_timezone" in request.session: user_session_ok = True user_time_zone = request.session['set_user_timezone'] else: user_session_ok = False user_time_zone = "Asia/Kolkata" 在我的基本模板中 {% if not user_session_ok %} <script type="text/javascript" src="{% static 'js/jstz.js' %}"></script> <script> $(document).ready(function(){ var timezone = jstz.determine(); var timezone_name = timezone.name(); $.ajax({ url : '/set-user-timezone/',action : "GET",data : { timezone : timezone_name },success : function(data){ },error : function(data){ } }) }); </script> {% endif %} 我的销售模板 {% for sale in sales %} {% load tz %} date : {{ sale.sale_date|timezone:user_time_zone }} {% endfor %} 我不知道这是正确的方法.但这个解决方案适合我. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |