Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

WEB-приложение в PYTHON

Зиля Азнабаева Ученик (73), на голосовании 2 месяца назад
Задание сделать веб-приложение с переходами на вкладки. Создала главную страницу, инфо, страницу-каталог, но не могу с каталога перейти на страницу с информацией о конкретном объекте. Есть кто разбирается? Могу скинуть полностью всю базу. Нужно создать шаблон и кликая на картинку в шаблон должны подставить значения этого объекта: картинка, информация
Голосование за лучший ответ
CPT Мудрец (15425) 3 месяца назад
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def home():
return render_template('home.html')

@app.route('/info')
def info():
return render_template('info.html')

@app.route('/catalog')
def catalog():
# Предположим, что у вас есть список объектов для каталога
items = [{'id': 1, 'name': 'Item 1', 'image': 'image1.jpg', 'info': 'Info 1'},
{'id': 2, 'name': 'Item 2', 'image': 'image2.jpg', 'info': 'Info 2'}]
return render_template('catalog.html', items=items)

@app.route('/item/')
def item(item_id):
# Здесь вы можете получить информацию об объекте из базы данных по его id
# Для примера я просто создам словарь с информацией
item = {'id': item_id, 'name': 'Item ' + str(item_id), 'image': 'image' + str(item_id) + '.jpg', 'info': 'Info ' + str(item_id)}
return render_template('item.html', item=item)

if __name__ == '__main__':
app.run(debug=True)
В этом коде у вас есть маршрут /item/<int:item_id>, который будет отображать страницу для объекта с указанным id. Вы можете ссылаться на эту страницу в вашем каталоге, используя что-то вроде <a href="{{ url_for('item', item_id= item.id ) }}">.

Обратите внимание, что вам нужно будет создать шаблоны HTML для каждого из этих маршрутов (home.html, info.html, catalog.html, item.html). В этих шаблонах вы можете использовать информацию, переданную из маршрутов, для отображения содержимого страницы. Например, в item.html вы можете использовать {{ item.name }}, {{ item.image }} и {{ item.info }} для отображения информации об объекте.
Похожие вопросы