Django grpc json ответ в html шаблон
нужна помощь. Провел весь день, пробуя разные варианты безрезультатно.
Я делаю вызов grpc и форматирую ответ в json. Моя цель - передать данные в мой html-шаблон, чтобы я мог отформатировать их так, как мне нужно. Единственное, что я могу сделать, это распечатать json на странице, а это не то, что я хочу.
return JsonResponse(result, safe=False)
^ это печатает json на странице, но на самом деле я хочу заполнить определенные части в таблицу.
Я попробовал следующее (очевидно, не все сразу):
return HttpResponse(branch_list)
return HttpResponse(response, 'src/grpc.html', {'branch_list', branch_list})
return HttpResponse(response, 'src/grpc.html', {'branch_list',branch_list})
return render(request, 'src/grpc.html', {'branch_list': response})
return JsonResponse(result, safe=False)
return HttpResponse(json.dumps(branch_list), 'src/grpc.html', content_type="application/json")
Вот мое определение, которое я использую в моем views.py и которое работает с оператором return Я вставил выше:
...
def grpc(client_stub, payload_project_id=payload_project_id, grpc_stub_method=grpc_stub_method, metadata_okta_token_and_env=metadata_okta_token_and_env):
client_stub = BitcClient(server, port)
request = pb2.ListBranchesRequest(context=payload_project_id)
response = client_stub.get_grpc_stub(grpc_stub_method).ListBranches(request=request,
metadata=metadata_okta_token_and_env)
#print(response)
json_obj = MessageToJson(response)
result = json.loads(json_obj)
for data in result['branches']:
# print(data['branch'])
branch_list.append(data['branch'])
return <need help here>??????????
Я хотел бы просмотреть список branch_list в моем html шаблоне и вывести название филиала и статус филиала в таблицу в шаблоне grpc.html:
{% if branch_list %}
<ul>
{% for branch in branch_list %}
<li>{{ branch.branch }}: {{ branch.status }}</li>
{% endfor %}
</ul>
{% else %}
<p>No branches were found.</p>
{% endif %}
мой urls.py выглядит следующим образом:
from django.urls import path
from . import views
urlpatterns = [
path('', views.grpc, name='grpc'),
]
помощь будет очень признательна. спасибо
Итак, правильная линия возврата должна быть: return render(request, 'src/grpc.html', result)