Я пришел из CakePHP и только начал играть с фреймворком Django. В CakePHP у меня есть привычка распечатывать весь возвращаемый массив, используя pr () прямо на веб-страницу. Например:
Мне интересно, могу ли я сделать то же самое в 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})
Я потратил два дня на исследования, но не смог найти ответ. Я надеюсь, что один из вас сможет помочь этому новичку.
То, как вы пытаетесь печатать, покажет печать в терминале, на котором работает ваш сервер Django. Если вам просто нужно увидеть это быстро, проверьте там.
Если вы хотите вывести значение на отображаемую страницу, вам нужно будет включить его в шаблон с помощью шаблонов. Похоже, вы отправляете {'soc': soc}
к вашему шаблону в качестве контекста. Из-за этого вы сможете использовать его в своем шаблоне. Итак, в вашем шаблоне (socs/detail.html
), просто добавь {{ soc }}
где-то и это должно распечатать значение. Шаблон имеет полный доступ к объекту, поэтому, если вы хотите что-то конкретное, вы можете также напечатать это (например, {{ soc.id }}
).
Если вы хотите увидеть все, что находится в объекте, без указания всех различных полей самостоятельно, отправьте OBJECT.__dir__
, Например, для этого вы отправите {'soc': soc.__dir__}
как ваш контекст. Имейте в виду, что это, вероятно, не должно использоваться ни для чего, кроме проверки с вашей стороны.
Если вы хотите узнать больше о шаблонах Django, ознакомьтесь с синтаксис и многое другое.
Других решений пока нет …