跳转到主要内容

基于MaxMind GeoIP的Django(>=1.7)的简易时区。

项目描述

Timezones. Yuck.

时区。真糟糕。

django-easy-timezones 构建状态

基于MaxMind GeoIP的Django(>=1.7)的简易IP时区,支持IPv6。

快速入门

  1. 安装django-easy-timezones

    pip install django-easy-timezones
  2. 将“easy-timezones”添加到您的INSTALLED_APPS设置中,如下所示

    INSTALLED_APPS = (
      ...
      'easy_timezones',
    )
  3. 将EasyTimezoneMiddleware添加到您的MIDDLEWARE_CLASSES

    MIDDLEWARE_CLASSES = (
      ...
      'easy_timezones.middleware.EasyTimezoneMiddleware',
    )
  4. (可选)在您的设置文件中添加MaxMind GeoIP城市数据库的路径(直接链接,因为我很好心)

    GEOIP_DATABASE = '/path/to/your/geoip/database/GeoLiteCity.dat'
    GEOIPV6_DATABASE = '/path/to/your/geoip/database/GeoLiteCityv6.dat'
  5. 在模板中启用本地时间。

    {% load tz %}
        The UTC time is {{ object.date }}
    {% localtime on %}
        The local time is {{ object.date }}
    {% endlocaltime %}
  6. 拧一下,因为你已经完成了,兄弟!

信号

您还可以使用信号根据时区检测执行操作。

  1. 要将Timezone检测事件钩入,例如,将其保存到请求的用户中,比会话更永久的地方,请这样做

    from easy_timezones.signals import detected_timezone
    
    @receiver(detected_timezone, sender=MyUserModel)
    def process_timezone(sender, instance, timezone, **kwargs):
        if instance.timezone != timezone:
            instance.timezone = timezone
            instance.save()

项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。

源代码分发

django-easy-timezones-0.8.0.tar.gz (24.0 MB 查看哈希值)

上传时间 源代码

构建分发

django_easy_timezones-0.8.0-py2-none-any.whl (9.3 kB 查看哈希值)

上传时间 Python 2

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页