110
DESENVOLVIMENTO WEB USANDO DJANGO

Desenvolvimento web usando django

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Desenvolvimento web usando django

DESENVOLVIMENTO WEB USANDO

DJANGO

Page 2: Desenvolvimento web usando django

YURIMALHEIROS@

Page 4: Desenvolvimento web usando django

TECNOLOGIA

Page 5: Desenvolvimento web usando django

TECNOLOGIA?

Page 6: Desenvolvimento web usando django
Page 7: Desenvolvimento web usando django

TECNOLOGIA?

Page 8: Desenvolvimento web usando django
Page 9: Desenvolvimento web usando django
Page 10: Desenvolvimento web usando django
Page 11: Desenvolvimento web usando django
Page 12: Desenvolvimento web usando django
Page 13: Desenvolvimento web usando django
Page 14: Desenvolvimento web usando django

”“SIMPLE IS

BETTER THAN

COMPLEX

Page 15: Desenvolvimento web usando django

FRAMEWORKS

Page 16: Desenvolvimento web usando django

“SE VI MAISLONGE FOI POR ESTAR SOBREOS OMBROS

DE GIGANTES

Page 17: Desenvolvimento web usando django
Page 18: Desenvolvimento web usando django

UM POUCO DE

HISTÓRIA...

Page 19: Desenvolvimento web usando django

MODEL

VIEW

CONTROLLER

Page 20: Desenvolvimento web usando django

MODEL

TEMPLATE

CONTROLLER

Page 21: Desenvolvimento web usando django

MODEL

TEMPLATE

VIEW

Page 22: Desenvolvimento web usando django

CODIFICANDO

Page 23: Desenvolvimento web usando django

django-admin startproject mymusic

Page 24: Desenvolvimento web usando django

mymusic

manage.py

settings.py

urls.py

Page 25: Desenvolvimento web usando django

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'db.sqlite',

'USER': '‘, 'PASSWORD': '‘, 'HOST': '‘, 'PORT': '‘, }

}

settings.py

Page 26: Desenvolvimento web usando django

manage.py startapp collection

Page 27: Desenvolvimento web usando django

collection

models.py

tests.py

views.py

Page 28: Desenvolvimento web usando django

from django.db import models

class Album(models.Model): artist = models.CharField(max_length=200) name = models.CharField(max_length=200) year = models.IntegerField() cover = models.URLField(verify_exists=False, blank=True)

def __unicode__(self): return "%s by %s" % (self.name, self.artist)

collection/models.py

Page 29: Desenvolvimento web usando django

from django.db import models

class Album(models.Model): artist = models.CharField(max_length=200) name = models.CharField(max_length=200) year = models.IntegerField() cover = models.URLField(verify_exists=False, blank=True)

def __unicode__(self): return "%s by %s" % (self.name, self.artist)

collection/models.py

Page 30: Desenvolvimento web usando django

from django.db import models

class Album(models.Model): artist = models.CharField(max_length=200) name = models.CharField(max_length=200) year = models.IntegerField() cover = models.URLField(verify_exists=False, blank=True)

def __unicode__(self): return "%s by %s" % (self.name, self.artist)

collection/models.py

Page 31: Desenvolvimento web usando django

from django.db import models

class Album(models.Model): artist = models.CharField(max_length=200) name = models.CharField(max_length=200) year = models.IntegerField() cover = models.URLField(verify_exists=False, blank=True)

def __unicode__(self): return "%s by %s" % (self.name, self.artist)

collection/models.py

Page 32: Desenvolvimento web usando django

from django.db import models

class Album(models.Model): artist = models.CharField(max_length=200) name = models.CharField(max_length=200) year = models.IntegerField() cover = models.URLField(verify_exists=False, blank=True)

def __unicode__(self): return "%s by %s" % (self.name, self.artist)

collection/models.py

Page 33: Desenvolvimento web usando django

from django.db import models

class Album(models.Model): artist = models.CharField(max_length=200) name = models.CharField(max_length=200) year = models.IntegerField() cover = models.URLField(verify_exists=False, blank=True)

def __unicode__(self): return "%s by %s" % (self.name, self.artist)

collection/models.py

Page 34: Desenvolvimento web usando django

from django.db import models

class Album(models.Model): artist = models.CharField(max_length=200) name = models.CharField(max_length=200) year = models.IntegerField() cover = models.URLField(verify_exists=False, blank=True)

def __unicode__(self): return "%s by %s" % (self.name, self.artist)

collection/models.py

Page 35: Desenvolvimento web usando django

INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'collection',)

settings.py

Page 36: Desenvolvimento web usando django

manage.py syncdb

Page 37: Desenvolvimento web usando django

add/

Page 38: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('', url(r'^add/$', collection_views.add),

)

urls.py

Page 39: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('', url(r'^add/$', collection_views.add),

)

urls.py

Page 40: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('', url(r'^add/$', collection_views.add),

)

urls.py

Page 41: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('', url(r'^add/$', collection_views.add),

)

urls.py

Page 42: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('', url(r'^add/$', collection_views.add),

)

urls.py

Page 43: Desenvolvimento web usando django

from django.forms import ModelFormfrom collection.models import Album

class AlbumForm(ModelForm): class Meta: model = Album

exclude = (‘cover’,)

collection/forms.py

Page 44: Desenvolvimento web usando django

from django.forms import ModelFormfrom collection.models import Album

class AlbumForm(ModelForm): class Meta: model = Album

exclude = (‘cover’,)

collection/forms.py

Page 45: Desenvolvimento web usando django

from django.forms import ModelFormfrom collection.models import Album

class AlbumForm(ModelForm): class Meta: model = Album

exclude = (‘cover’,)

collection/forms.py

Page 46: Desenvolvimento web usando django

from django.forms import ModelFormfrom collection.models import Album

class AlbumForm(ModelForm): class Meta: model = Album

exclude = (‘cover’,)

collection/forms.py

Page 47: Desenvolvimento web usando django

def add(request): if request.method == 'POST': form = AlbumForm(data=request.POST)

if form.is_valid(): album = Album() album.name = form.cleaned_data['name'] album.artist = form.cleaned_data['artist'] album.year = form.cleaned_data['year'] album.cover = get_cover_url(album.artist, album.name) album.save()

collection/views.py

Page 48: Desenvolvimento web usando django

def add(request): if request.method == 'POST': form = AlbumForm(data=request.POST)

if form.is_valid(): album = Album() album.name = form.cleaned_data['name'] album.artist = form.cleaned_data['artist'] album.year = form.cleaned_data['year'] album.cover = get_cover_url(album.artist, album.name) album.save()

collection/views.py

Page 49: Desenvolvimento web usando django

def add(request): if request.method == 'POST': form = AlbumForm(data=request.POST)

if form.is_valid(): album = Album() album.name = form.cleaned_data['name'] album.artist = form.cleaned_data['artist'] album.year = form.cleaned_data['year'] album.cover = get_cover_url(album.artist, album.name) album.save()

collection/views.py

Page 50: Desenvolvimento web usando django

def add(request): if request.method == 'POST': form = AlbumForm(data=request.POST)

if form.is_valid(): album = Album() album.name = form.cleaned_data['name'] album.artist = form.cleaned_data['artist'] album.year = form.cleaned_data['year'] album.cover = get_cover_url(album.artist, album.name) album.save()

collection/views.py

Page 51: Desenvolvimento web usando django

def add(request): if request.method == 'POST': form = AlbumForm(data=request.POST)

if form.is_valid(): album = Album() album.name = form.cleaned_data['name'] album.artist = form.cleaned_data['artist'] album.year = form.cleaned_data['year'] album.cover = get_cover_url(album.artist, album.name) album.save()

collection/views.py

Page 52: Desenvolvimento web usando django

def add(request): if request.method == 'POST': form = AlbumForm(data=request.POST)

if form.is_valid(): album = Album() album.name = form.cleaned_data['name'] album.artist = form.cleaned_data['artist'] album.year = form.cleaned_data['year'] album.cover = get_cover_url(album.artist, album.name) album.save()

collection/views.py

Page 53: Desenvolvimento web usando django

def add(request): if request.method == 'POST': form = AlbumForm(data=request.POST)

if form.is_valid(): album = Album() album.name = form.cleaned_data['name'] album.artist = form.cleaned_data['artist'] album.year = form.cleaned_data['year'] album.cover = get_cover_url(album.artist, album.name) album.save()

collection/views.py

Page 54: Desenvolvimento web usando django

else: form = AlbumForm()

return render_to_response('add.html', {'form' : form}, context_instance=RequestContext(request))

collection/views.py

Page 55: Desenvolvimento web usando django

else: form = AlbumForm()

return render_to_response('add.html', {'form' : form}, context_instance=RequestContext(request))

collection/views.py

Page 56: Desenvolvimento web usando django

else: form = AlbumForm()

return render_to_response('add.html', {'form' : form}, context_instance=RequestContext(request))

collection/views.py

Page 57: Desenvolvimento web usando django

else: form = AlbumForm()

return render_to_response('add.html', {'form' : form}, context_instance=RequestContext(request))

collection/views.py

Page 58: Desenvolvimento web usando django

else: form = AlbumForm()

return render_to_response('add.html', {'form' : form}, context_instance=RequestContext(request))

collection/views.py

Page 59: Desenvolvimento web usando django

settings.py

import os

PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))

TEMPLATE_DIRS = (os.path.join(PROJECT_PATH, 'templates'),

)

Page 60: Desenvolvimento web usando django

<form action="." method="post" enctype="multipart/form-data"> {% csrf_token %} {% for field in form %} <div class="fieldWrapper"> {{ field.errors }} {{ field.label_tag }}: {{ field }} </div> {% endfor %}

<p><button type="submit">Adicionar</button></p></form>

templates/add.html

Page 61: Desenvolvimento web usando django

<form action="." method="post" enctype="multipart/form-data"> {% csrf_token %} {% for field in form %} <div class="fieldWrapper"> {{ field.errors }} {{ field.label_tag }}: {{ field }} </div> {% endfor %}

<p><button type="submit">Adicionar</button></p></form>

templates/add.html

Page 62: Desenvolvimento web usando django

<form action="." method="post" enctype="multipart/form-data"> {% csrf_token %} {% for field in form %} <div class="fieldWrapper"> {{ field.errors }} {{ field.label_tag }}: {{ field }} </div> {% endfor %}

<p><button type="submit">Adicionar</button></p></form>

templates/add.html

Page 63: Desenvolvimento web usando django

<form action="." method="post" enctype="multipart/form-data"> {% csrf_token %} {% for field in form %} <div class="fieldWrapper"> {{ field.errors }} {{ field.label_tag }}: {{ field }} </div> {% endfor %}

<p><button type="submit">Adicionar</button></p></form>

templates/add.html

Page 64: Desenvolvimento web usando django

<form action="." method="post" enctype="multipart/form-data"> {% csrf_token %} {% for field in form %} <div class="fieldWrapper"> {{ field.errors }} {{ field.label_tag }}: {{ field }} </div> {% endfor %}

<p><button type="submit">Adicionar</button></p></form>

templates/add.html

Page 65: Desenvolvimento web usando django

<form action="." method="post" enctype="multipart/form-data"> {% csrf_token %} {% for field in form %} <div class="fieldWrapper"> {{ field.errors }} {{ field.label_tag }}: {{ field }} </div> {% endfor %}

<p><button type="submit">Adicionar</button></p></form>

templates/add.html

Page 66: Desenvolvimento web usando django

<form action="." method="post" enctype="multipart/form-data"> {% csrf_token %} {% for field in form %} <div class="fieldWrapper"> {{ field.errors }} {{ field.label_tag }}: {{ field }} </div> {% endfor %}

<p><button type="submit">Adicionar</button></p></form>

templates/add.html

Page 67: Desenvolvimento web usando django

<form action="." method="post" enctype="multipart/form-data"> {% csrf_token %} {% for field in form %} <div class="fieldWrapper"> {{ field.errors }} {{ field.label_tag }}: {{ field }} </div> {% endfor %}

<p><button type="submit">Adicionar</button></p></form>

templates/add.html

Page 68: Desenvolvimento web usando django

manage.py runserver

Page 69: Desenvolvimento web usando django
Page 70: Desenvolvimento web usando django

/

Page 71: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('',url(r'^$', collection_views.index, name='album_index'),url(r'^add/$', collection_views.add),

)

urls.py

Page 72: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('',url(r'^$', collection_views.index, name='album_index'),url(r'^add/$', collection_views.add),

)

urls.py

Page 73: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('',url(r'^$', collection_views.index, name='album_index'),url(r'^add/$', collection_views.add),

)

urls.py

Page 74: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('',url(r'^$', collection_views.index, name='album_index'),url(r'^add/$', collection_views.add),

)

urls.py

Page 75: Desenvolvimento web usando django

def index(request): albums = Album.objects.all().order_by('name')

return render_to_response('index.html', {'albums' : albums}, context_instance=RequestContext(request))

collection/views.py

Page 76: Desenvolvimento web usando django

def index(request): albums = Album.objects.all().order_by('name')

return render_to_response('index.html', {'albums' : albums}, context_instance=RequestContext(request))

collection/views.py

Page 77: Desenvolvimento web usando django

def index(request): albums = Album.objects.all().order_by('name')

return render_to_response('index.html', {'albums' : albums}, context_instance=RequestContext(request))

collection/views.py

Page 78: Desenvolvimento web usando django

def index(request): albums = Album.objects.all().order_by('name')

return render_to_response('index.html', {'albums' : albums}, context_instance=RequestContext(request))

collection/views.py

Page 79: Desenvolvimento web usando django

def index(request): albums = Album.objects.all().order_by('name')

return render_to_response('index.html', {'albums' : albums}, context_instance=RequestContext(request))

collection/views.py

Page 80: Desenvolvimento web usando django

def index(request): albums = Album.objects.all().order_by('name')

return render_to_response('index.html', {'albums' : albums}, context_instance=RequestContext(request))

collection/views.py

Page 81: Desenvolvimento web usando django

def index(request): albums = Album.objects.all().order_by('name')

return render_to_response('index.html', {'albums' : albums}, context_instance=RequestContext(request))

collection/views.py

Page 82: Desenvolvimento web usando django

{% for album in albums %}<p> {% if album.cover %} <img src="{{album.cover}}" /> {% endif %}

{{album.name}}<br /> {{album.artist}}<br /></p>{% endfor %}

templates/index.html

Page 83: Desenvolvimento web usando django

{% for album in albums %}<p> {% if album.cover %} <img src="{{album.cover}}" /> {% endif %}

{{album.name}}<br /> {{album.artist}}<br /></p>{% endfor %}

templates/index.html

Page 84: Desenvolvimento web usando django

{% for album in albums %}<p> {% if album.cover %} <img src="{{album.cover}}" /> {% endif %}

{{album.name}}<br /> {{album.artist}}<br /></p>{% endfor %}

templates/index.html

Page 85: Desenvolvimento web usando django

{% for album in albums %}<p> {% if album.cover %} <img src="{{album.cover}}" /> {% endif %}

{{album.name}}<br /> {{album.artist}}<br /></p>{% endfor %}

templates/index.html

Page 86: Desenvolvimento web usando django

{% for album in albums %}<p> {% if album.cover %} <img src="{{album.cover}}" /> {% endif %}

{{album.name}}<br /> {{album.artist}}<br /></p>{% endfor %}

templates/index.html

Page 87: Desenvolvimento web usando django

{% for album in albums %}<p> {% if album.cover %} <img src="{{album.cover}}" /> {% endif %}

{{album.name}}<br /> {{album.artist}}<br /></p>{% endfor %}

templates/index.html

Page 88: Desenvolvimento web usando django
Page 89: Desenvolvimento web usando django

delete/

Page 90: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('',url(r'^$', collection_views.index, name='album_index'),url(r'^add/$', collection_views.add),url(r'^delete/(?P<album_id>\d+)/$', collection_views.delete, name='album_delete'),

)

urls.py

Page 91: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('',url(r'^$', collection_views.index, name='album_index'),url(r'^add/$', collection_views.add),url(r'^delete/(?P<album_id>\d+)/$', collection_views.delete, name='album_delete'),

)

urls.py

Page 92: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('',url(r'^$', collection_views.index, name='album_index'),url(r'^add/$', collection_views.add),url(r'^delete/(?P<album_id>\d+)/$', collection_views.delete, name='album_delete'),

)

urls.py

Page 93: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('',url(r'^$', collection_views.index, name='album_index'),url(r'^add/$', collection_views.add),url(r'^delete/(?P<album_id>\d+)/$', collection_views.delete, name='album_delete'),

)

urls.py

Page 94: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('',url(r'^$', collection_views.index, name='album_index'),url(r'^add/$', collection_views.add),url(r'^delete/(?P<album_id>\d+)/$', collection_views.delete, name='album_delete'),

)

urls.py

Page 95: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('',url(r'^$', collection_views.index, name='album_index'),url(r'^add/$', collection_views.add),url(r'^delete/(?P<album_id>\d+)/$', collection_views.delete, name='album_delete'),

)

urls.py

Page 96: Desenvolvimento web usando django

from django.conf.urls.defaults import *from collection import views as collection_views

urlpatterns = patterns('',url(r'^$', collection_views.index, name='album_index'),url(r'^add/$', collection_views.add),url(r'^delete/(?P<album_id>\d+)/$', collection_views.delete, name='album_delete'),

)

urls.py

Page 97: Desenvolvimento web usando django

def delete(request, album_id): album = Album.objects.get(pk=album_id) album.delete() return redirect('album_index')

collection/views.py

Page 98: Desenvolvimento web usando django

def delete(request, album_id): album = Album.objects.get(pk=album_id) album.delete() return redirect('album_index')

collection/views.py

Page 99: Desenvolvimento web usando django

def delete(request, album_id): album = Album.objects.get(pk=album_id) album.delete() return redirect('album_index')

collection/views.py

Page 100: Desenvolvimento web usando django

def delete(request, album_id): album = Album.objects.get(pk=album_id) album.delete() return redirect('album_index')

collection/views.py

Page 101: Desenvolvimento web usando django

{% for album in albums %}<p> {% if album.cover %} <img src="{{album.cover}}" /> {% endif %}

{{album.name}}<br /> {{album.artist}}<br /> <a href={% url album_delete album.pk %}>apagar</a></p>{% endfor %}

templates/index.html

Page 102: Desenvolvimento web usando django
Page 103: Desenvolvimento web usando django
Page 104: Desenvolvimento web usando django

GITHUB.COM/YURIMALHEIR

OS

Page 105: Desenvolvimento web usando django

BÁSICO

Page 106: Desenvolvimento web usando django

PYTHON

Page 107: Desenvolvimento web usando django

FERRAMENTA

Page 108: Desenvolvimento web usando django

COMUNIDADE

Page 109: Desenvolvimento web usando django

BOA ESCOLHA :)

Page 110: Desenvolvimento web usando django

DÚVIDAS?