Как напечатать результат запроса в python / django

Я пришел из CakePHP и только начал играть с фреймворком Django. В CakePHP у меня есть привычка распечатывать весь возвращаемый массив, используя pr () прямо на веб-страницу. Например:

  • Контроллер выводит $ result в View, я использую pr ($ result), и он будет распечатывать все прямо на веб-странице, поэтому я знаю, как пройти через $ result из моего View.
  • Форма POST $ запрос к контроллеру, я использую pr ($ request), чтобы увидеть, что отправляет перед обработкой в ​​контроллере. Содержимое $ request будет сразу же отображаться на веб-странице сразу после нажатия кнопки Отправить форму.

Мне интересно, могу ли я сделать то же самое в django вместо того, чтобы перейти в оболочку и попробовать pprint (или я могу просто использовать pprint для распечатки в Интернете ???)
Это действительно простой пример того, о чем я говорю:
app_name / views.py:

def detail(request, soc_id):
soc = get_object_or_404(Soc, pk=soc_id)
return render(request, 'socs/detail.html', {'soc': soc})

Как я могу просто ясно видеть, что находится в «соц». В CakePHP, я мог бы просто pr ($ soc) прямо здесь, и это будет отображаться прямо на странице detail.html.

Я пробовал это, и это не сработало (я уверен, что это просто, но я только новичок в этом)

import pprint
def detail(request, soc_id):
soc = get_object_or_404(Soc, pk=soc_id)
pprint.pprint(soc)
return render(request, 'socs/detail.html', {'soc': soc})

Я потратил два дня на исследования, но не смог найти ответ. Я надеюсь, что один из вас сможет помочь этому новичку.

0

Решение

То, как вы пытаетесь печатать, покажет печать в терминале, на котором работает ваш сервер Django. Если вам просто нужно увидеть это быстро, проверьте там.

Если вы хотите вывести значение на отображаемую страницу, вам нужно будет включить его в шаблон с помощью шаблонов. Похоже, вы отправляете {'soc': soc} к вашему шаблону в качестве контекста. Из-за этого вы сможете использовать его в своем шаблоне. Итак, в вашем шаблоне (socs/detail.html), просто добавь {{ soc }} где-то и это должно распечатать значение. Шаблон имеет полный доступ к объекту, поэтому, если вы хотите что-то конкретное, вы можете также напечатать это (например, {{ soc.id }}).

Если вы хотите увидеть все, что находится в объекте, без указания всех различных полей самостоятельно, отправьте OBJECT.__dir__, Например, для этого вы отправите {'soc': soc.__dir__} как ваш контекст. Имейте в виду, что это, вероятно, не должно использоваться ни для чего, кроме проверки с вашей стороны.

Если вы хотите узнать больше о шаблонах Django, ознакомьтесь с синтаксис и многое другое.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]