Как передать переменные django в javascript в операторе for?
Как передать переменные django в javascript в операторе for Я хочу передать c.tv.tv_id в операторе for в javascript. Я хочу передавать его javascript в каждом операторе for, но не знаю, как это сделать.
{% extends 'base.html' %}
{%load static%}
<link rel="stylesheet" href="{% static 'css\common_movie_tv.css' %}">
{% block content %}
<table>
<tr>
<tr>
<th>name</th>
<th>created_at</th>
<th>comment</th>
<th>evaluation</th>
</tr>
{% for c in object_list %}
<tr>
<th id = "trendings"></th>
<td>{{ c.user.nickname }}</td>
<td>{{c.tv.tv_id}}</td>
<td>{{ c.created_at }} </td>
<td>{{ c.comment }}</td>
<td><h2 class = "rate" style="--rating:{{c.stars}}">{{c.stars}}</h2></td>
</tr>
{% endfor %}
</table>
<script>
const tv_id = {{c.tv.tv_id}}
fetch(`https://api.themoviedb.org/3/tv/${tv_id}?api_key=${TMDB_API_KEY}&language=en-US`, {
method: "GET",
headers: {
"Content-Type": "application/json"
}
)
.then(res => res.json())
.then(data => {
var mainDiv = document.createElement("div");
mainDiv.setAttribute("class", "card");
mainDiv.setAttribute("style", "width: 18rem;");
var img = document.createElement("img");
img.setAttribute("src", "https://image.tmdb.org/t/p/w200" + data.poster_path);
img.setAttribute("class", "card-img-top");
img.setAttribute("alt", "...");
var body = document.createElement("div");
body.setAttribute("class", "card-body");
var title = document.createElement("h5");
title.setAttribute("class", "card-title");
if (data.name) {
title.innerHTML = data.name;
} else {
title.innerHTML = data.title;
}
//var text = document.createElement("p");
//text.setAttribute("class", "card-text");
//text.innerHTML = data.results[i].overview;
var link = document.createElement("a");
link.setAttribute("href", "/" + "tv" + "/" + data.id + "/");
link.setAttribute("class", "btn btn-primary");
link.innerHTML = "View Details";
body.appendChild(title);
//body.appendChild(text);
body.appendChild(link);
mainDiv.appendChild(img);
mainDiv.appendChild(body);
document.getElementById("trendings").appendChild(mainDiv);
})
</script>
{% endblock %}
Как передать переменные django в javascript в операторе for Я хочу передать c.tv.tv_id в операторе for в javascript. Я хочу передавать его javascript в каждом операторе for, но не знаю, как это сделать.
Вам нужно поместить результат запроса в dict и отправить его как Json-ответ.
До появления Django 1.7 вы бы вернули его следующим образом:
return HttpResponse(json.dumps(response_data), content_type="application/json")
Для Django 1.7+ используйте JsonResponse, как показано в этом ответе SO, следующим образом :
from django.http import JsonResponse
return JsonResponse({'foo':'bar'})