【发布时间】:2018-05-10 12:23:42
【问题描述】:
如何给用户切换:
- 日期时间格式
- 时区
两者都根据用户的决定显示不同的dateTime。
我想在管理员 Django 或 UI 中启用此选项。
不是手动设置页面。
【问题讨论】:
-
阅读您的问题,并不清楚您需要什么。请尝试重写它。
标签: django
如何给用户切换:
两者都根据用户的决定显示不同的dateTime。
我想在管理员 Django 或 UI 中启用此选项。
不是手动设置页面。
【问题讨论】:
标签: django
首先,您必须创建模型(UserFormats)来存储来自用户的这些数据。两个字段 - datetime_format 和 timezone。这些字段将是 ChoiceField - 您可以在此处找到实现示例 https://stackoverflow.com/a/24404791/5450939 。键是数字,值是你想要的格式(你可以从 pytz 导入
import pytz
pytz.all_timezones
)。 此模型将是您的 User 模型的 ForeignKey。
另外,添加布尔字段,例如 is_user_datetime_format_enabled 和 is_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
...
与时区情况相同。
【讨论】: