#python #html #django #django-templates
#python #HTML #django #django-шаблоны
Вопрос:
Я хотел использовать некоторые фиктивные данные в своих представлениях django для работы с шаблонами. Когда переменная posts находится вне домашней функции, все, что я получаю, — это пустое тело. Хотя, когда я перемещаю ее внутрь, все отображается так, как должно.
from django.shortcuts import render
posts = [
{
'author': 'Kamil',
'title' : 'Post 1',
},
{
'author': 'Tomek',
'title' : 'Post 2',
},
]
def home(request):
context = {
'posts' : posts
}
return render(request, 'blog_app/home.html', context)
Вот также мой html
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
{% for post in posts %}
<h1>{{ post.title }}</h1>
<p>By {{ post.author }}</p>
{% endfor %}
</body>
</html>
Ответ №1:
Сделайте сообщения глобальной переменной
global posts
posts = [
{
'author': 'Kamil',
'title' : 'Post 1',
},
{
'author': 'Tomek',
'title' : 'Post 2',
},
]
Комментарии:
1. он выдает ошибку SyntaxError: недопустимый синтаксис
2. извините! Я обновил свой ответ, пожалуйста, проверьте. Глобальные переменные не могут быть объявлены и определены одновременно. Предполагается, что они должны быть объявлены и определены отдельно.
3. Omg я не понимал, что у меня есть функция с тем же именем в этом файле