Возможна ли передача данных JSON в Django без JS / JQuery?
Я учусь работать с JSON файлами в Django и я успешно распаковал JSON, но теперь я хотел бы поместить его внутрь таблицы.
Есть ли способ сделать это с помощью чистого HTML и используя так называемые "скобки торнадо" {{ }} не с помощью jQuery / JS функций?
Мой код:
API BACKEND FILE
from requests import get
default_values = {
"repoName": "",
"repoURL": ""
}
def get_response():
response = get_json()
main_dictionary = {
"items":[]
}
try:
for repos in response:
main_dictionary["items"].append({
"repoName": repos["name"],
"repoURL": repos["html_url"]
})
except KeyError as error:
print("Key Error, check the validity of the keys you try to use to decode JSON")
return main_dictionary["items"]
def get_json():
first_response = get('https://api.github.com/users/jacobtoye/repos')
response = first_response.json()
return response
A НЕУДАЧНАЯ ПОПЫТКА РЕНДЕРИНГА ЧИСТОЙ HTML-ТАБЛИЦЫ
{% block content %}
<table>
<tr>
{% for repos in response %}
<td>{{ repoName }}</td>
{% if not forloop.last and forloop.counter == 3 or forloop.counter == 6 %}
</tr>
{% endif %}
<tr>
{% endfor %}
</tr>
</table>
Таблица не отображается вообще. Я не думаю, что какие-либо другие файлы кода существенны для этой проблемы, но если вы думаете, что вам нужно больше кода, LMK я с удовольствием покажу вам :)
В представлениях Django вы обычно передаете такие значения, как context
.
представление на основе функций:
def a_view(request):
context = {
'some_things': Thing.objects.all()
}
return render(request, 'your_template.html', context)
представление, основанное на классах:
class TheView(View):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['some_things'] = Thing.objects.all()
return context
При любом из приведенных подходов в шаблоне это будет работать следующим образом:
{% for thing in some_things %}
{{ thing }}, {{ thing.id }}, {{ thing.get_related_things }}
{% endfor %}