У меня есть представление, которое заполняет объект json, а затем, в конце того же представления, я отображаю html-страницу, но также возвращаю окончательный json.
возможно, это не имеет значения, но json будет выглядеть примерно так:
{
"embedToken": "dasfgjasdàgjasdàgasdàgèe-AveryLongToken",
"embedUrl": "https://app.powerbi.com/let's_go_to_the_lake",
"reportId": "e615-sfash-9746"
}
строка, которую я не могу исправить (пробовал весь день всеми альтернативными методами), выглядит следующим образом:
return render(request, "home.html", jsn)
мой url.py прост, как следует:
urlpatterns = [
path('', HomePageView, name='home'),
]
В настоящее время я получаю следующую ошибку:
context must be a dict rather than str.
Но я столкнулся с разными путями, но не смог достичь желаемого результата (рендеринг html и возврат json одновременно). Так что я сомневаюсь, что я выбрал неправильный подход к основам, должен ли я изменить дорогу?
Я хотел бы попытаться преобразовать JSON в словарь, а затем, возможно, преобразовать его обратно в JSON в JavaScript
Я также пытался разделить свои запросы, отобразив html как представление django и выполнив вызов функции из javascript-запроса ajax следующим образом:
function handler1(){
// there are many other methods like $.get $.getJSON
$.ajax({
type: 'GET',
dataType: 'json',
url: "http://piedpiper.com/api/callers"
}).then(function(result) {
// do something with the result
});
}
Но в итоге я понял, что таким образом я должен создать URL api / callers, которые будут доступны / доступны для всех, что я не могу сделать из-за сеанса пользователя. только зарегистрированные пользователи должны видеть данные json