Flask
&
Django
![](http://2.bp.blogspot.com/-hVnSATd-opc/UXaKH6rgJTI/AAAAAAAAAaA/dr9_QRlot5M/s1600/hello-1782.jpg)
dominik.wronski@gmail.com
![](http://inwestycje.pl/resources/PGSSOFT.jpg)
![](http://crossweb.pl/wp-content/uploads/2013/08/wroc.py_.png)
![](http://www.youngupstarts.com/wp-content/uploads/2010/09/Cooklet-logo.png)
O czym nie bedzie dzisiejsze wystapienie:
rekrutacja
![](http://www.faceoff.com/cms/binary/3079736.jpg)
![](http://www.tlswebsolutions.com/wp-content/uploads/2012/03/django-logo-negative.png)
Django:
"The Web framework for perfectionists with deadlines"
- spójne, calosciowe rozwiazanie
- swietna dokumentacja
- aktywna spolecznosc
![](http://flask.pocoo.org/static/logo/flask.png)
"Flask is a microframework for Python
based on Werkzeug, Jinja 2
and good intentions."
from flask import Flask app = Flask(__name__)
@app.route('/') def index(): return "Hello, World!"
if name = "__main__":
app.run()
<title>{% block title %}{% endblock %}</title>
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">
{{ user.username }}
</a></li>
{% endfor %}
</ul>
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
from sqlalchemy import Column, Integer, String
class Person(Base):
__tablename__ = 'persons'
id = Column(Integer, primary_key=True)
first_name = Column(String(30))
last_name = Column(String(30))
from sqlalchemy.sql import extract
entries_a_month = Entry.query.filter(
(extract(Entry.pub_date, 'year') == 2011) &
(extract(Entry.pub_date, 'month') == 1)
).all()
ActiveRecord
vs
Unity of Work
from django.conf.urls import patterns, url
urlpatterns = patterns('',
url(r'^articles/(\d{4})/$', 'news.views.year_archive'),
url(r'^articles/(\d{4})/(\d{2})/$',
'news.views.month_archive'),
url(r'^articles/(\d{4})/(\d{2})/(\d+)/$',
'news.views.article_detail'),
)
www.our_domain.com/articles/2003/03/03/
Urls
from flask import request
@app.route('/todo/api/v1.0/tasks', methods = ['POST'])
def create_task():
if not request.json or not 'title' in request.json:
abort(400)
task = {
'id': tasks[-1]['id'] + 1,
'title': request.json['title'],
'description': request.json.get('description', ""),
'done': False
}
tasks.append(task)
return jsonify( { 'task': task } ), 201
![](https://s3.amazonaws.com/media-p.slid.es/uploads/dominikwronski/images/245245/garden_planner_iOS_app_640x1136_326dpi_beta_preview.jpg)
![](http://www.gfi.com/blog/wp-content/uploads/2013/12/Mozilla.png)
![](http://www.waxingunlyrical.com/wp-content/uploads/2013/03/url.jpeg)
![](http://www.bluefinengineering.com/wp-content/uploads/2013/03/disqus2.jpg)
Podsumowujac
Django:
- swietny jesli chcesz co mieć szybko
- niektóre elementy skladni sa $%#
- dojrzaly framework
- wszystko w pakiecie
Flask:
- swietny do pisania backendu
- przyjemniejsza skladnia
- "zeby dobrze wybrac trzeba
warto rozumiec co robimy"
![](http://promote.opera.com/logos/Opera-logo.png)
![](http://cdn1.tnwcdn.com/files/2010/09/Cooklet-logo1.png)
![](https://lh6.googleusercontent.com/-JuO4gd7JQII/AAAAAAAAAAI/AAAAAAAAAWs/SrEZOcyZxWo/photo.jpg)
![](http://codernity.com/images/labs.png)
![](http://zefz.ru/attaches/data/product/195/CRT460.jpg)
![](http://targipracy.wsnhid.pl/logo/stx-logo_claim_usa_grren_web_OK_nc.jpg)
![](http://clearcode.cc/wp-content/themes/cctheme/img/clearcode-logo-300.jpg)
![](http://i.myniceprofile.com/1391/139160.jpg)
Flask & Django - web development
By Dominik Wronski
Flask & Django - web development
Presentation made for infoMEET 8 Feb 2014 Wroclaw
- 2,612