Más contenido relacionado La actualidad más candente (18) Similar a Introducción a Flask (20) Introducción a Flask4. El ORM de AppEngine es
suficiente (para mí)
10. Simple y de pequeño tamaño
No toma muchas decisiones por ti
Convenciones
Instala lo que necesitas
13. from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
24. <h1>Anuncios <span class="dark">disponibles</
span></h1>
{% for anuncio in anuncios %}
<div class="post">
<p>
<span class="title">{{anuncio.titulo}}
</span>
! ! {{anuncio.empresa}} - {{anuncio.web}}
! </p>
! <p>
! <a href="{{ url_for('detalle',
key=anuncio.key()) }}">Más información</a>
! </p>
</div>
! {% endfor %}
26. <!DOCTYPE HTML PUBLIC "-/ /W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
{% block head %}
<title>{% block title %}{% endblock %} - My Webpage</
title>
{% endblock %}
</head>
<body>
<div id="content">{% block content %}{% endblock %}</div>
<div id="footer">
{% block footer %}
© Copyright 2008 by you.
{% endblock %}
</div>
</body>
27. {% extends "base.html" %}
{% block title %}Index{% endblock %}
{% block head %}
{{ super() }}
<style type="text/css">
.important { color: #336699; }
</style>
{% endblock %}
{% block content %}
<h1>Index</h1>
<p class="important">
Welcome on my awesome homepage.
</p>
{% endblock %}
28. {% macro input(name, value='', type='text', size=20) -%}
<input type="{{ type }}" name="{{ name }}" value="{{value|
size="{{ size }}">
{%- endmacro %}
<p>{{ input('username') }}</p>
<p>{{ input('password', type='password') }}</p>
30. @app.route("/")
def index():
! anuncios = Anuncio.all()
! return render_template('index.html',
anuncios=anuncios)
@app.route("/publicar/", methods=("GET", "POST")
def publicar():
! pass
@app.route("/detalle/<key>")
def detalle(key):
pass
35. from flask import render_template
@app.errorhandler(404)
def page_not_found(error):
return render_template('not_found.html'),
404
37. class FlaskrTestCase(unittest.TestCase):
def setUp(self):
self.app = mymodule.app.test_client()
def tearDown(self):
pass
def test_empty_db(self):
rv = self.app.get('/')
assert 'No entries here' in rv.data
40. Flask-Admin Flask-WTF
Flask-Babel Flask-Cache
Flask-OAuth Flask-MongoKit
Flask-SQLAlchemy Flask-OpenID
Flask-MongoKit Y otras!
52. • Comunidad muy activa y en
crecimiento
• Excelente documentación
• Versión 0.8
• Licencia BSD
• flask.pocoo.org
Notas del editor \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n