首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用supervisor运行脚本时,Django timezone.now()不返回当前日期时间

在使用supervisor运行脚本时,Django的timezone.now()不返回当前日期时间的问题可能是由于时区设置不正确导致的。Django的timezone.now()方法返回的是当前时区下的日期时间。

要解决这个问题,可以按照以下步骤进行操作:

  1. 确保Django的时区设置正确。在Django的settings.py文件中,找到TIME_ZONE设置项,并设置为你所在的时区。例如,如果你在中国,可以将TIME_ZONE设置为'Asia/Shanghai'。
  2. 确保操作系统的时区设置正确。在Linux系统中,可以使用命令timedatectl来查看和设置系统时区。确保系统时区与Django的时区设置一致。
  3. 在supervisor的配置文件中,添加环境变量TZ,并设置为你所在的时区。例如,可以在配置文件的[program:your_program]部分添加如下配置:
代码语言:txt
复制
environment=TZ='Asia/Shanghai'

这样可以确保supervisor在运行脚本时使用正确的时区。

  1. 重新启动supervisor服务,使配置生效。

通过以上步骤,应该能够解决使用supervisor运行脚本时Django的timezone.now()不返回当前日期时间的问题。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云容器服务(TKE)。

  • 腾讯云服务器(CVM):提供稳定可靠的云服务器实例,可满足各种规模的应用需求。详情请参考:腾讯云服务器产品介绍
  • 腾讯云容器服务(TKE):提供高度可扩展的容器化应用管理平台,支持快速部署、弹性伸缩和自动化运维。详情请参考:腾讯云容器服务产品介绍
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用 Django 项目中的 ORM 编写伪造测试数据脚本

脚本就是一段普通的 Python 代码,非常简单,但是通过这个脚本你将学会如何在 django 外使用 ORM,而不仅仅在 django 应用的内部模块使用。...,将根目录添加到 Python 的模块搜索路径中,这样在运行脚本时 Python 才能够找到相应的模块并执行。...首先设置 DJANGO_SETTINGS_MODULE 环境变量,这将指定 django 启动时使用的配置文件,然后运行 django.setup() 启动 django。...我们在这里设置起始日期为 1 年前(-1y),终止日期为当下(now),时区为 get_current_timezone 返回的时区,这个函数是 django.utils.timezone 模块的辅助函数...要注意的是评论的发布时间必须位于被评论文章的发布时间和当前时间之间,这就是 delta_in_days = '-' + str((timezone.now() - post_created_time).

1.3K10

Django中与时区相关的安全问题

举个例子,我们平时在编写Python脚本的时候,使用下面这行代码获取当前时间: from datetime import datetime t = datetime.now() 此时,t是一个naive...Django的时间函数 Django的包django.utils.timezone中有下面几个常用的时间相关函数: now(),返回当前的UTC时间 localtime(),返回当前的本地时间(默认是TIME_ZONE...但是,如果我们使用到了和日期、时间有关的lookups,将产生相反的结果。 怎么理解这个问题呢,我们还是来举个例子。...原因是,Django在使用日期、时间有关的lookups时,会在数据库层面对时间进行时区的转换再进行比较,所以我们需要使用本地时间而不是UTC时间。 可以看看原始的SQL语句: ?...所以,我们总结一下: 任何比较都使用aware时间,不能使用naive时间 时间属性直接比较时,使用任何aware时间均可(会被自动转换成UTC) queryset查询,不涉及__day、__date、

2.2K21
  • Django 1.10中文文档-第一个应用Part5-测试

    你可能感觉学习Python/Django已经足够,再去学习其他的东西也许需要付出巨大的努力而且没有必要,毕竟我们的投票应用已经愉快地运行起来了。与其花时间去做自动化测试还不如改进现在的应用。...True(这是正确的),然而当Question在未来的日期内发布的时候也返回True(这是错误的)。...在models.py中修复这个方法,让它只有当日期是在过去时才返回True: # polls/models.py def was_published_recently(self): now =...测试新视图 现在,您可以通过启动运行服务器,在浏览器中加载站点,创建过去和将来的日期的问题,并检查仅列出已发布的站点,从而满足您的需求。...(question_text, days): """ 2个参数,一个是问卷的文本内容,另外一个是当前时间的偏移天数,负值表示发布日期在过去,正值表示发布日期在将来。

    1K60

    django:DateTimeField如何自动设置为当前时间并且能被修改 ——django日期时间字段的使用

    创建django的model时,有DateTimeField、DateField和TimeField三种类型可以用来创建日期字段,其值分别对应着datetime()、date()、time()三中对象。...DateTimeField.auto_now 这个参数的默认值为false,设置为true时,能够在保存该字段时,将其值设置为当前时间,并且每次修改model,都会自动更新。...需要注意的是,设置该参数为true时,并不简单地意味着字段的默认值为当前时间,而是指字段会被“强制”更新到当前时间,你无法程序中手动为字段赋值;如果使用django再带的admin管理器,那么该字段在admin...此时,如果在admin的fields或fieldset中强行加入该日期时间字段,那么程序会报错,admin无法打开;如果在admin中修改对象时,想要看到日期和时间,可以将日期时间字段添加到admin类的...实际场景中,往往既希望在对象的创建时间默认被设置为当前值,又希望能在日后修改它。怎么实现这种需求呢? django中所有的model字段都拥有一个default参数,用来给字段设置默认值。

    7.3K80

    Django model 层之Models与Mysql数据库小结

    第一次创建对象时,自动设置field值为当前日期,所以,即便显示为该字段提供了值,也会自动忽视显示设定的值。...TimeField 以python datetime.time实例表示的时间 可选参数: DateField.auto_now 每次存储对象(仅针对调用save方法)时,自动设置该field的值为当前日期...可选参数: DateField.auto_now 每次存储对象(仅针对调用save方法)时,自动设置该field的值为当前日期时间 DateField.auto_now_add 第一次创建对象时,自动设置...field值为当前日期时间,所以,即便显示为该字段提供了值,也会自动忽视显示 该field对应的默认表单组件为:TextInput。...DateTimeField字段的值,如果要保存为当前时间,可以通过timezone.now()快速获取当前时间进行赋值 >>> from django.utils import timezone >>>

    2.2K20

    django 1.8 官方文档翻译: 1-2-5 编写你的第一个Django应用,第5部分

    测试是检查你的代码是否正常运行的简单程序。 测试可以划分为不同的级别。 一些测试可能专注于小细节(某一个模型的方法是否会返回预期的值?)..., 其他的测试可能会检查软件的整体运行是否正常(用户在对网站进行了一系列的操作后,是否返回了正确的结果?)。...在models.py中修复这个方法,让它只有当日期是在过去时才返回True : polls/models.py def was_published_recently(self): now = timezone.now...Django测试客户端 Django提供了一个测试客户端来模拟用户和代码的交互。我们可以在tests.py 甚至在shell 中使用它。...我们需要修改get_queryset方法并让它将日期与timezone.now()进行比较。

    40020

    ​第 07 篇:创作后台开启,请开始你的表演!

    如它所言,我们确实还没有发布任何文章,本节我们将使用 django 自带的 admin 后台来发布我们的博客文章。...因此,对于文章创建时间这个字段,初始没有指定值时,默认应该指定为当前时间,所以刚好可以通过 default 关键字参数指定: from django.utils import timezone class...timezone.now 是 django 提供的工具函数,返回当前时间。...因为 timezone 模块中的函数会自动帮我们处理时区,所以我们使用的是 django 为我们提供的 timezone 模块,而不是 Python 提供的 datetime 模块来处理时间。...答案是不能,因为虽然第一次保存数据时,会根据默认值指定为当前时间,但是当模型数据第二次修改时,由于 modified_time 已经有值,即第一次的默认值,那么第二次保存时默认值就不会起作用了,如果我们不修改

    1.1K20

    Django 1.10中文文档-第一个应用Part2-模型和管理站点

    在处理字段名的引号时也是如此 —— 例如,使用双引号还是单引号; sqlmigrate命令并不会在你的数据库上真正运行迁移文件 —— 它只是把Django 认为需要的SQL打印在屏幕上以让你能够看到...这对于检查Django将要进行的数据库操作或者你的数据库管理员需要这些SQL脚本是非常有用的。...Django: >>> import django >>> django.setup() 如果以上命令引发了一个AttributeError,可能是你使用了一个和本教程不匹配的Django版本。...# 下面是查询所有的Choices,它所对应的Question的发布日期是今年。...在页面的底部,则是一些可选项按钮: Save —— 保存更改,并返回当前类型对象的变更列表界面; Save and add another:保存当前修改,并加载一个新的空白的当前类型对象的表单

    2.3K60

    Django 2 DateTimeField格式 在程序中手动赋值

    DateTimeField.auto_now 这个参数的默认值为false,设置为true时,能够在保存该字段时,将其值设置为当前时间,并且每次修改model,都会自动更新。...需要注意的是,设置该参数为true时,并不简单地意味着字段的默认值为当前时间,而是指字段会被“强制”更新到当前时间,你无法程序中手动为字段赋值;如果使用django再带的admin管理器,那么该字段在admin...赋值的方法 其实DateTimeField字段对应的就是Python里的datetime.datetime,也可以使用django.utils.timezone.now() 的方法来进行时间设置。...import timezone # 打印当前时间格式 In [13]: timezone.now() Out[13]: datetime.datetime(2019, 9, 19, 10, 42,...datetime.datetime.now(),可以看到两个时间参数的数据基本一致 task_startup_time: 2019-09-19 11:07:13.499454 # 使用timezone.now

    72920

    通过Gunicorn、Supervisor和Nginx更好地运行Django

    通过runserver运行Django 相信用过Django做开发的人对于python manage.py runserver 这个命令一定不陌生,这个命令利用django自带的一个web服务器,可以帮助我们在本地很简单地就运行...使用预分叉模型,父进程可以在必要时杀死并重建子进程,提供了对内存泄漏的防护机制。 负载管理:Gunicorn 有多种类型的 worker 可供选择,包括同步 worker 和异步 worker。...在使用 Gunicorn 运行 Django 之前,你需要确保已经正确地安装了 Django 和 Gunicorn。...注意:这个只是为了演示gunicorn的简单运行方式,正式环境中不推荐这么使用 配置 Gunicorn Gunicorn 提供了许多可配置的选项,可以根据自己的需求去调整其行为,比较常用的方式是创建一个...此外,如果后端应用挂掉或重启,在这段时间内 Nginx 仍然可以继续为用户提供服务(例如返回一个友好的错误页面)。

    12610

    Django 2 DateTimeField格式 在程序中手动赋值

    DateTimeField.auto_now 这个参数的默认值为false,设置为true时,能够在保存该字段时,将其值设置为当前时间,并且每次修改model,都会自动更新。...需要注意的是,设置该参数为true时,并不简单地意味着字段的默认值为当前时间,而是指字段会被“强制”更新到当前时间,你无法程序中手动为字段赋值;如果使用django再带的admin管理器,那么该字段在admin...赋值的方法 其实DateTimeField字段对应的就是Python里的datetime.datetime,也可以使用django.utils.timezone.now() 的方法来进行时间设置。...import timezone # 打印当前时间格式 In [13]: timezone.now() Out[13]: datetime.datetime(2019, 9, 19, 10, 42,...datetime.datetime.now(),可以看到两个时间参数的数据基本一致 task_startup_time: 2019-09-19 11:07:13.499454 # 使用timezone.now

    3.2K10

    使用echarts做一个可视化报表(一)

    前段时间利用django+vue编写了一个构造测试数据的平台,目前已经把各个系统常用的构造数据请求放到了平台上。..."ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'", }, # 连接到数据库时要使用的其他参数...修改django视图文件,向数据库插入数据 因为我打算每创建成功一条数据,就向数据库里插入一条数据,这条数据需要包含:数据类型名称、数据类型id、开始创建时间、创建成功时间 所以我需要定义上述字段的值,...= timezone.now() # 数据创建结束时间 df = DataFactory(class_name="合同", class_id="1", start_time=start_time...; 因为有2个表,所以我打算写2个视图函数分别来提供对应的数据 折线图 折线图的横轴为日期:【周一】~【周日】,纵轴为数量 所以我要查到当前周的数据,并把日期与周几做一个映射,最终 sql 如下 select

    2.4K20

    网站功能——使用 Supervisor 部署 Django 应用程序

    具体的方案是加入 supervisor 来守护 gunicorn,也就是说使用 supervisor 来启动 gunicorn 进而运行 Django。...Supervisor的主要功能包括: 进程监控:Supervisor可以监控指定的进程,并在进程意外终止时自动重新启动它们。这对于确保关键进程的持续运行非常有用,以及防止因进程崩溃而导致的服务中断。...进程控制:Supervisor允许您通过命令行或API控制进程的启动、停止、重启等操作。这使得管理和操作进程变得更加便捷,无需手动干预或编写复杂的脚本。...服务的操作 现在,可以使用Supervisor来启动、停止和管理Django应用程序了。...通过以上步骤,我们成功地使用Supervisor部署了Django应用程序。Supervisor将负责监控应用程序的运行状态,并在需要时自动重启应用程序。

    66920

    django 1.8 官方文档翻译: 1-2-1 编写你的第一个Django应用,第1部分

    在命令行中,使用 cd 命令进入你想存储代码所在的目录,然后运行以下命令: django-admin.py startproject mysite 这将在当前目录创建一个 mysite 目录。...它保存了当前 Django 实例已激活的所有 Django 应用。每个应用可以被多个项目使用,而且你可以打包和分发给其他人在他们的项目中使用。...每个字段由一个 Field 的实例来表现 – 比如 CharField 表示字符类型的字段和 DateTimeField 表示日期时间型的字段。...如果你感兴趣,还可以运行以下命令: python manage.py validate – 检查在构建你的模型时是否有错误。...We use 我们在这里使用 unicode() 是因为 Django 模型默认处理的是 Unicode 格式。当所有存储在数据库中的数据返回时都会转换为 Unicode 的格式。

    99820

    Django 3.1 官网学习路线

    它对于检查 Django 要做什么,或者您的数据库管理员是否需要 SQL 脚本进行更改非常有用。...迁移功能非常强大,它允许您在开发项目时随着时间的推移更改模型,而不需要删除数据库或表并创建新表——它专门用于实时升级数据库,而不会丢失数据。...#在默认设置文件中启用了对时区的支持,因此 # Django期望为pub_date使用tzinfo的日期时间。...日期有一个“今天”快捷方式和日历弹出,时间有一个“现在”快捷方式和一个方便的弹出,列出了通常输入的时间。 页面的底部提供了几个选项: 保存-保存更改并返回此类型对象的更改列表页。...如果“Date published”的值与教程 1 中创建问题时的时间不匹配,这可能意味着您忘记为 TIME_ZONE 设置正确的值。更改它,重新加载页面并检查正确的值出现。

    8.2K10
    领券