Mac*_*chi 1 django python-3.x django-rest-framework
我通过请求 api 源获取数据,然后将其放入我的 django 模型中。然而,数据每天都会更新......那么如何才能更新这些数据而不需要每次都渲染呢?
def index (request):
session = requests.Session()
df = session.get('https://api.coincap.io/v2/assets')
response= df.json()
coin = response['data']
final_result = coin.to_dict('records')
for coin in final_result:
obj, created = Coincap.objects.update_or_create(
symbol = coin['symbol'],
name = coin['name'],
defaults = {
'price': coin['priceUsd']
})
return render(request, '/home.html/')
Run Code Online (Sandbox Code Playgroud)
现在,/home.html如果我想要更新数据,我必须访问 。然而,我的目标是稍后序列化它并使其成为 REST api 数据,所以我不会再碰 django 模板了。无论如何,它在我更新后每天内部更新一次manage.py runserver?
对于那些正在寻找示例的人:
from django.core.management.base import BaseCommand
class Command(BaseCommand):
def handle(self,*args,**kwargs):
//Your request api here
for coin in final_result:
obj, created = Coincap.objects.update_or_create(
symbol = coin['symbol'],
name = coin['name'],
defaults = {
'price': coin['priceUsd']})
Run Code Online (Sandbox Code Playgroud)
然后你按照 Nikita 的建议运行 cron 。
| 归档时间: |
|
| 查看次数: |
2200 次 |
| 最近记录: |