【发布时间】:2022-01-25 03:01:31
【问题描述】:
我正在构建一个基本的 Django 站点。 目前,我正在尝试找出一种方法来进行 API 调用并在页面加载时检索结果。 是否可以使用js .onload 函数调用django视图函数?
任何建议/提示将不胜感激!
【问题讨论】:
-
在 js onload 函数上调用后端 API URL。从您的 api 视图中获取数据。在 js 中玩弄响应数据。
标签: django
我正在构建一个基本的 Django 站点。 目前,我正在尝试找出一种方法来进行 API 调用并在页面加载时检索结果。 是否可以使用js .onload 函数调用django视图函数?
任何建议/提示将不胜感激!
【问题讨论】:
标签: django
您可以简单地使用 JavaScript 获取 API,如下所示:
page.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Title</title>
</head>
<body>
<h1 id="msg"></h1>
<script>
var url = 'http://127.0.0.1:8080/message';
fetch(url).then(
response => response.json()
).then(function(data) {
document.getElementById("msg").textContent = data['message'];
});
</script>
</body>
</html>
views.html
from django.shortcuts import render
from django.http import JsonResponse
def index(request):
return render(request, "index.html")
def message(request):
return JsonResponse({"message": "Hello World!"})
【讨论】:
您可以使用“请求”库并在 django 视图上为此页面发出请求。
import requests
def my_view(request):
r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
context = {
'data': r.json()
}
return render(request, 'my_html.html', context)
【讨论】: