#python #django #django-models #django-views #django-templates
#питон #джанго #django-модели #django-просмотры #django-шаблоны
Вопрос:
Мне любопытно, могу ли я отобразить представление непосредственно из списка (или словаря) в Django вместо модели и, таким образом, программно генерировать страницы на основе соответствующего шаблона (здесь, my_template.html ). Я делал это много раз после создания модели, в которой <str:my_list>
она ссылалась бы на соответствующую базу данных. Однако в случае использования, который включает вызов API, я бы предпочел не идти по маршруту базы данных, поскольку это становится несколько избыточным. Я уверен, что это должно быть возможно, но я, кажется, хожу кругами, пытаясь это осуществить.
urls.py
# ...
urlpatterns = [
# ...
path('path/<str:my_list>', views.my_view, name='my_view'),
]
views.py
# ...
def my_view(request, my_list):
return render(request, 'core/my_template.html')
Список может быть чем-то таким же простым, как:
my_list = [
item_1,
item_2,
# ...
]
Спасибо!
Комментарии:
1. Вы взглянули на контексты? Я думаю, вы можете легко передавать аргументы в виде списков и dicts в контексте шаблону. docs.djangoproject.com/en/3.1/ref/templates/api
2. Абсолютно. Но я не просто пытаюсь передать значение из контекста в шаблон, а скорее визуализирую само представление из списка.
Ответ №1:
Я полагаю, что шаблон ищет словарь. В шаблоне вы ссылаетесь на имя словаря и ключ (я полагаю, что я использую правильные термины). Если бы я хотел получить доступ
my_list = {
{'item_1':'cat'},
{'item_2':'dog'},
{'item_3':' el chupacabra'}
}
Мне нужно было бы передать свой список в качестве контекста и ссылки в шаблоне как:
{{ my_list.item_1 }}
{{ my_list.item_2 }}
{{ my_list.item_3 }}
Тем не менее, вы должны иметь возможность передавать:
return render(request, 'core/my_template.html', {'item_1':'cat},{'item_2':'dog},{'item_3':' el chupacabra'})
и иметь возможность получить ссылку только на ключ в шаблоне следующим образом:
{{ item_1 }}
Я все еще относительно новичок в этом, но это два способа, с помощью которых я смог получить информацию для своих шаблонов.
Комментарии:
1. Спасибо за попытку ответа, но вопрос в том, как создавать страницы из одного шаблона, используя список вместо вызова идентификатора из базы данных, а не как передать значение в шаблон.