0
Django Show
Um pouco sobre mim
●   Formado em Ciência da Computação
●   Entusiasta de Python e Django
●   Colaborador do DjangoBrasil ...
Django Show não é...
●   Um show de uma boy band
●   Uma apresentação de um indiano
    cantando barby girl
●   Nem uma de...
Welcome to the Django!
Arquitetura
●   Model
●   View
●   Template
Model

from django.db import models
from datetime import datetime

class Link(models.Model):
   title = models.CharField(m...
View


from django.shortcuts import render_to_response
from models import Link

def index(request):
  links = Link.objects...
Template
{% extends quot;base.htmlquot; %}

{% block content %}

{% for link in links %}
  <p>
     <a href=quot;{{ link.u...
Manipulando os dados
>>> from mysite.bookmarks.models import *
>>> l = Link()

>>> l.title = 'Python Brasil'
>>> l.descrip...
Geração de Formulários
●   Model x View x Template
●   Model x View (Forms + Metodos) x
    Templates
from django.forms import ModelForm
from models import Link

class LinkForm(ModelForm):

  class Meta:
     model = Link
Interface de Administração
●   Model x ModelAdmin
from django.contrib import admin
from models import Link

admin.site.register(Link)
Middleware




    views
Middleware



MIDDLEWARE_CLASSES = (
  'django.middleware.common.CommonMiddleware',
  'django.contrib.sessions.middleware....
Algumas middlewares
●   Session
●   Authentication
●   Log
●   Gzip
Mitos e verdades
●   Django e monolítico
●   Django não escala
●   O deploy no Django é difícil e
    complicado
Django e ZODB
●   desafio ou loucura? =)
import ZODB.config

class ZODBConnection(object):

  def __init__(self):
    db = ZODB.config.databaseFromURL(zodb_url)

 ...
from djangozodb import ZODBInstance

class ZODBSession(object):
   def process_request(self, request):
     request.zodb =...
Outros exemplos
●   Django + SQLAlchemy (tranquil)
●   Django + Storm
●   Django + CouchDb
●   Django + SQLObject
●   Djan...
Mais um exemplo
●   Django + REST
Cache
●   Cache em disco
●   Cache em memória
●   Cache em banco
Cache
●   Cache em disco
●   Cache em memória
●   Cache em banco ???? =
Deploy
●   Apache = mod_python
●   Apache = mod_wsgi
●   Apache = fast_cgi
●   Lighttpd = fast_cgi
●   Nginx = fast_cgi
● ...
Em todo lugar...
●   Cpython
●   Jython
●   IronPython
●   PyPy ?????
Em todo lugar...
●   Cpython
●   Jython
●   IronPython
●   PyPy =)
Extra
●   Authentication Backend
●   Signals
●   Django + {{ sua template system }}
Duvidas?
●   Andrews Medina
●   andrewsmedina@gmail.com
●   http://www.andrewsmedina.com
Django Show
Django Show
Django Show
Upcoming SlideShare
Loading in...5
×

Django Show

6,082

Published on

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,082
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
75
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Transcript of "Django Show"

  1. 1. Django Show
  2. 2. Um pouco sobre mim ● Formado em Ciência da Computação ● Entusiasta de Python e Django ● Colaborador do DjangoBrasil e do PythonBrasil ● Desenvolvedor na globo.com
  3. 3. Django Show não é... ● Um show de uma boy band ● Uma apresentação de um indiano cantando barby girl ● Nem uma demonstração de magia
  4. 4. Welcome to the Django!
  5. 5. Arquitetura ● Model ● View ● Template
  6. 6. Model from django.db import models from datetime import datetime class Link(models.Model): title = models.CharField(max_length = 255) date = models.DateTimeField(default = datetime.now) url = models.URLField(verify_exists = False) description = models.CharField(max_length = 255) def __unicode__(self): return self.description
  7. 7. View from django.shortcuts import render_to_response from models import Link def index(request): links = Link.objects.all() return render_to_response('index.html', {'links':links})
  8. 8. Template {% extends quot;base.htmlquot; %} {% block content %} {% for link in links %} <p> <a href=quot;{{ link.url }}quot;> {{ link.title }} </a> - {{ link.date|date:quot;d/m/Yquot; }} </p> {% endfor %} {% endblock %}
  9. 9. Manipulando os dados >>> from mysite.bookmarks.models import * >>> l = Link() >>> l.title = 'Python Brasil' >>> l.description = 'Site da comunidade Python no Brasil' >>> l.url = 'http://www.pythonbrasil.com.br' >>> l.save() >>> l <Link: Site da comunidade Python no Brasil> >>> l = Link() >>> l.title = 'Django Brasil' >>> l.description = 'Site da comunidade Django no Brasil' >>> l.url = 'http://www.djangobrasil.org' >>> l.save() >>>
  10. 10. Geração de Formulários ● Model x View x Template ● Model x View (Forms + Metodos) x Templates
  11. 11. from django.forms import ModelForm from models import Link class LinkForm(ModelForm): class Meta: model = Link
  12. 12. Interface de Administração ● Model x ModelAdmin
  13. 13. from django.contrib import admin from models import Link admin.site.register(Link)
  14. 14. Middleware views
  15. 15. Middleware MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', )
  16. 16. Algumas middlewares ● Session ● Authentication ● Log ● Gzip
  17. 17. Mitos e verdades ● Django e monolítico ● Django não escala ● O deploy no Django é difícil e complicado
  18. 18. Django e ZODB ● desafio ou loucura? =)
  19. 19. import ZODB.config class ZODBConnection(object): def __init__(self): db = ZODB.config.databaseFromURL(zodb_url) connection = db.open() self.root = connection.root() ZODBInstance = ZODBConnection()
  20. 20. from djangozodb import ZODBInstance class ZODBSession(object): def process_request(self, request): request.zodb = ZODBInstance
  21. 21. Outros exemplos ● Django + SQLAlchemy (tranquil) ● Django + Storm ● Django + CouchDb ● Django + SQLObject ● Django + Seu ORM Favorito ● Django + BigTable on Google App Engine
  22. 22. Mais um exemplo ● Django + REST
  23. 23. Cache ● Cache em disco ● Cache em memória ● Cache em banco
  24. 24. Cache ● Cache em disco ● Cache em memória ● Cache em banco ???? =
  25. 25. Deploy ● Apache = mod_python ● Apache = mod_wsgi ● Apache = fast_cgi ● Lighttpd = fast_cgi ● Nginx = fast_cgi ● ...
  26. 26. Em todo lugar... ● Cpython ● Jython ● IronPython ● PyPy ?????
  27. 27. Em todo lugar... ● Cpython ● Jython ● IronPython ● PyPy =)
  28. 28. Extra ● Authentication Backend ● Signals ● Django + {{ sua template system }}
  29. 29. Duvidas? ● Andrews Medina ● andrewsmedina@gmail.com ● http://www.andrewsmedina.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×