【问题标题】:Django timezone and dateTime format displayDjango时区和dateTime格式显示
【发布时间】:2018-05-10 12:23:42
【问题描述】:

如何给用户切换:

  1. 日期时间格式
  2. 时区

两者都根据用户的决定显示不同的dateTime

我想在管理员 Django 或 UI 中启用此选项。
不是手动设置页面。

【问题讨论】:

  • 阅读您的问题,并不清楚您需要什么。请尝试重写它。

标签: django


【解决方案1】:

首先,您必须创建模型(UserFormats)来存储来自用户的这些数据。两个字段 - datetime_formattimezone。这些字段将是 ChoiceField - 您可以在此处找到实现示例 https://stackoverflow.com/a/24404791/5450939 。键是数字,值是你想要的格式(你可以从 pytz 导入

import pytz
pytz.all_timezones

)。 此模型将是您的 User 模型的 ForeignKey。

另外,添加布尔字段,例如 is_user_datetime_format_enabledis_user_timezone_format_enabled。 它将允许您在 Django 管理员中为每个用户切换选项。

然后您可以签入您的代码或模板:

import datetime
today = datetime.date.today()
if user.userformats.is_user_datetime_format_enabled:
     today.strftime(user.userformats.datetime_format) 
else:
    today.strftime("%d/%m/%y"). # some default formatting

 ...

与时区情况相同。

【讨论】:

    猜你喜欢
    • 2015-10-28
    • 1970-01-01
    • 2018-04-07
    • 2023-02-06
    • 2011-10-23
    • 2023-04-08
    • 2016-06-11
    • 2019-02-11
    • 1970-01-01
    相关资源
    最近更新 更多