Форум сайта python.su
Всем привет. Хотел бы узнать, можможно ли наследовать шаблоны из одного tpl файла в другой?
И есть ли в нем шаблонные тэги, чтобы не хардкодить ссылки, например
c url разобрался. Теперь хотелось бы узнать, если ли блоки как в джанге?
{% block content %}
{% endblock %}
что то вроде такого?
И еще. Как на бутылке писать модели и использовать их в шаблоне? Ну и в целом, в какую сторону копать, какую литературу читать
Отредактировано Ennjin (Ноя. 15, 2016 17:31:53)
Офлайн
Офлайн
Еще один вопрос. Как вывести в шаблон все записи из sqlite базы? у меня выводи только последнее.
код приложения
def index(): con = sqlite3.connect('data.db') cur = con.cursor() cur.execute("SELECT title FROM post") title = cur.fetchall() for value in title: title = '{0}'.format(value[0]) cur.execute("SELECT text FROM post") text = cur.fetchall() for value in text: text = '{}'.format(value[0]) cur.execute("SELECT author FROM post") author = cur.fetchall() for value in author: author = '{0}'.format(value[0]) cur.close() return dict(url=url, title=title, text=text, author=author)
<h1>{{title}}</h1>
<p>{{text}}</p>
<p>Автор: {{author}}</p>
Офлайн
вы какую-то хрень написали
SELECT title, author, text FROM post;
Офлайн
slav0nic
вы какую-то хрень написали
Офлайн
<div id="3">
<h1>Тест</h1>
<p>Тест</p>
<p>Автор: Тест</p>
</div>
<div id="2">
<h1>Тест</h1>
<p>Тест</p>
<p>Автор: Тест</p>
</div>
<div id="1">
<h1>Тест</h1>
<p>Тест</p>
<p>Автор: Тест</p>
</div>
@route('/') @view ('index') def index(): con = sqlite3.connect('data.db') cur = con.cursor() cur.execute("SELECT title, text, author FROM post") while True: result = cur.fetchone() if result == None: break title = result[0] text = result[1] author = result[2] cur.execute("SELECT id FROM post") post_id = cur.fetchall() post_id.sort(reverse=True) cur.close() return dict(url=url, title=title, text=text, author=author, post_id=post_id)
%for value in post_id:
%for id in value:
<div id="{{id}}">
<h1>{{title}}</h1>
<p>{{text}}</p>
<p>Автор: {{author}}</p>
</div>
%end
%end
Офлайн
дичь какая-то, а что, сразу id нельзя выбрать? да и к чему while True ещё и с сортировкой в питоне
во-первых пройдите базовый курс по sql, сортировать надо в sql запросе
во-вторых есть https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.row_factory для того чтоб можно было обращаться к элементу Row через аттрибут, а не индекс поля
в шаблон rows надо отдавать (желательно лимитом/пагинацией)
Офлайн
отсортировал в sql запросе.
@route('/') @view ('index') def index(): con = sqlite3.connect('data.db') cur = con.cursor() cur.execute("SELECT * FROM post ORDER BY id DESC") result = cur.fetchall() cur.close() return dict(url=url, rows=result)
slav0nicможно подробнее про этот пункт, и что выводить в шаблон?
во-вторых есть https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.row_factory для того чтоб можно было обращаться к элементу Row через аттрибут, а не индекс поля
Офлайн