Flask, выбор данных из таблицы

Рейтинг: 2Ответов: 1Опубликовано: 16.02.2015
from sqlalchemy import create_engine
from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey
from sqlalchemy.orm import mapper
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from flask import Flask, render_template

engine = create_engine('sqlite:///:memory:', echo=True)

Base = declarative_base()
class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    nickname = Column(String)
    gender = Column(String)
    age = Column(String)

    def __init__(self, name, nickname, gender, age):
        self.name = name
        self.nickname = nickname
        self.gender = gender
        self.age = age
    def __repr__(self):
        return "<User('%s','%s', '%s', '%s')>" % (self.name, self.nickname, self.gender, self.age)

Session = sessionmaker(bind=engine)
session = Session()

user = User("Artyom", "thismadworld", "Male", "18")
user1 = User("Paul", "pauldemin", "Male", "18")
user2 = User("Stepa", "BON", "Male", "15")
user3 = User("Polina", "polina", "Female", "18")

Я создал класс User с параметрами, теперь мне нужно name, nickname, gender и age отправить в шаблон html, для вставки в страницу. Каким способом это можно сделать?

Ответы

▲ 1
@app.route('/user/<int:uid>')
def get_userinfo(uid):
    user = User.query.get(uid)
    return render_template('my_template.html', user=user)

А в темплейте используй обычную точечную нотацию:

{{user.name}}

Суть в том, что в двойных фигурных скобках у тебя самый обычный питон, и там ты можешь исполнять любой питоновский код.