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. Você usa todo o stack?

    View full-size slide

  2. ~55 milhões pageviews dia

    View full-size slide

  3. 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!

    View full-size slide

  4. 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 "" % (self.id, self.name)

    View full-size slide

  5. class UserForm(ModelForm):
    class Meta:
    model = User
    class UserForm(Form):
    name = TextField(validators=[DataRequired(), Length(max=100)])
    email = TextField(validators=[DataRequired(), Length(max=255)])

    View full-size slide

  6. {% block title %}{% endblock %}

    {% for user in users %}
    {{ user.username }}
    {% endfor %}

    View full-size slide

  7. 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')

    View full-size slide

  8. http://techblog.netflix.com/2013/03/python-at-netflix.html
    ....

    View full-size slide