繁体   English   中英

在Django中使用API​​调用创建新模型实例

[英]Create New Model Instance with API Call in Django

我不确定如何在我的Django应用中解决该问题:

我需要每n天调用一次API。 我可以进行此调用并通过Python获取所需的数据,但是我应该将代码放在哪里呢?

我是否要将代码放在特定的view ,然后将视图映射到一个URL,并在我想基于API调用创建新的模型实例时调用该URL?

还是我走错路了?

我通常的方法是结合使用自定义Django-admin命令 ,然后通过计划的Cron作业运行它们

您可以使用与运行默认命令相同的方式来运行自定义命令:

python manage.py <your_command_name> <your_command_arguments>

听起来您正在尝试安排可调度的工作。 芹菜在这种情况下效果很好。

您将创建一个每N天运行一次的任务。 在该任务中,您将放置调用API的代码并根据需要处理响应。

参考: 芹菜定期任务

我是否将代码放在特定的视图中

Django view是可调用的,必须接受HTTP请求并返回HTTP响应,因此,除非您需要能够通过HTTP调用代码,否则根本没有必要使用视图,即使您想拥有一个视图公开此代码并不意味着进行API调用等的代码必须存在于视图中。

请记住,“ django应用程序”基本上是Python软件包,因此,除了django特定的内容(视图,模型等)之外,您还可以放置所需的任何模块,并在这些模块上调用视图,自定义命令等。 因此,只需为您的API客户端等编写一个模块,该模块具有执行获取/创建模型实例/任何工作的功能,然后从有意义的地方调用此功能(视图,由cron作业调用的自定义命令,celery任务,无论如何) 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM