如何在Django的Celery任务中为Requests请求传递今日日期参数?
如何在Celery任务的API请求中传递今日日期参数
要实现传递今日日期参数以减少API返回数据量,你可以按以下方式修改代码:
- 导入Python的
datetime模块生成今日日期 - 根据API要求的格式生成日期字符串(常用格式为
YYYY-MM-DD,需匹配API的参数规范) - 将日期参数存入
payload,并通过requests.get的params参数传递给API
修改后的完整代码示例:
from datetime import datetime import requests from your_config_module import config # 保持原有配置导入逻辑 UNICA_AUTH = # 保留你原有的认证信息 def create_presence_info(): # 生成符合格式的今日日期字符串 today = datetime.today().strftime('%Y-%m-%d') # 构造请求参数 payload = {'today_date': today} url = config('PRESENCE_INFO') # 通过params传递查询参数到API response = requests.get(url, auth=UNICA_AUTH, params=payload) # 后续可添加JSON数据处理逻辑,例如: # if response.status_code == 200: # data = response.json()
关键注意点
- 若API要求特殊日期格式(如
MM/DD/YYYY),只需修改strftime的格式字符串,比如改为'%m/%d/%Y' - 如果涉及时区问题,建议使用
datetime.utcnow()转换为目标时区日期,或借助pytz等库处理时区偏移
内容的提问来源于stack exchange,提问作者Kirill_N
相关产品推荐
相关产品推荐

