Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bottle, o full stack sem Django

Avelino
October 15, 2014

Bottle, o full stack sem Django

Bottle é um micro-framework web rápido, performático, simples e leve, muito conhecido por ser um framework em um arquivo. Hoje em dia temos muitas bibliotecas ótimas no mundo Python como ORM, Forms, Async entre outras! Porque não usar ela para desenvolver seu projeto web? Django traz tudo pronto para você e isso não quer dizer que é a melhor solução e sim um solução que funciona, mas não a unica... Bottle é uma excelente alternativa para desenvolvedores que gosta de tomar decisões na arquitetura do software como na libs que sera usada!

Avelino

October 15, 2014
Tweet

More Decks by Avelino

Other Decks in Technology

Transcript

  1. Pragmático é aquilo que contem considerações de ordem prática, realista,

    com alvo bem definido. Ser pragmático é ser prático é ter objetivos definidos!
  2. class Entity(Base): __tablename__ = 'entity' id = Column(Integer, Sequence('id_seq'), primary_key=True)

    name = Column(String(50)) def __init__(self, name): self.name = name def __repr__(self): return "<Entity('%d', '%s')>" % (self.id, self.name)
  3. class UserForm(ModelForm): class Meta: model = User class UserForm(Form): name

    = TextField(validators=[DataRequired(), Length(max=100)]) email = TextField(validators=[DataRequired(), Length(max=255)])
  4. <title>{% block title %}{% endblock %}</title> <ul> {% for user

    in users %} <li><a href="{{ user.url }}">{{ user.username }}</a></li> {% endfor %} </ul>
  5. revision = '1975ea83b712' down_revision = None from alembic import op

    import sqlalchemy as sa def upgrade(): pass def downgrade(): pass """ $ alembic revision -m "Add a column" """ revision = 'ae1027a6acf' down_revision = '1975ea83b712' from alembic import op import sqlalchemy as sa def upgrade(): op.add_column('account', sa.Column('last_transaction_date', sa.DateTime)) def downgrade(): op.drop_column('account', 'last_transaction_date') def upgrade(): op.create_table( 'account', sa.Column('id', sa.Integer, primary_key=True), sa.Column('name', sa.String(50), nullable=False), sa.Column('description', sa.Unicode(200)), ) def downgrade(): op.drop_table('account')