如何在Django中动态调用模板中的视图函数

时间:2018-07-11 06:43:54

标签: python django

我正在使用openweathermap API在Django中实现天气应用。我的HTML中有一个表单,其中有一个动作可以触发视图中的方法。它工作正常,但是问题是我每次需要天气时都必须使用表单中的按钮来触发操作,但是我想以一种每3小时生成一次天气的方式动态获取天气。我曾想过用timmer来做,但是我不知道它是否是正确的方法,如果知道实现它的好方法,请给我启发。

我想要一个无需触发任何动作即可动态生成天气的应用。如果我的查询无法理解或需要更多信息,请务必询问,我不擅长用语言表达我的查询。

1 个答案:

答案 0 :(得分:1)

我通常会使用以下两个选项之一:

  1. 实施可从cronjob调用的Django命令
  2. 结合使用Python软件包Celery和RabbitMQ或Redis,并使用Celery的定期任务功能调用命令。

这两种方法都可以让您每3小时运行一次代码。

您可能会带出调用天气API的代码,并将其存储在DB中,从视图中移出并将其放置在Django命令中。然后,您的视图将仅提供您通过定期任务获得的数据。

希望对您有帮助!