Mini Curso Django Ii Congresso Academico Ces
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Mini Curso Django Ii Congresso Academico Ces

on

  • 2,439 views

Apresentação usada no mini-curso de Django realizado no 2º Congresso Acadêmico do Cesmac.

Apresentação usada no mini-curso de Django realizado no 2º Congresso Acadêmico do Cesmac.

Statistics

Views

Total Views
2,439
Views on SlideShare
2,427
Embed Views
12

Actions

Likes
0
Downloads
49
Comments
0

3 Embeds 12

http://www.felipewally.com.br 7
http://www.slideshare.net 4
http://felipebuarque.wordpress.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • * Rápida explanação do que é o Django. * Falar sobre o que o Django não é:   - Muita gente compara com o Plone.
  • * Falar sobre a origem do django: -jornal de Lawrence - Kansas    - falar sobre a pycon - falar sobre licença BSD - DSF assumiu o desenvolvimento em 2008
  • - Falar rapidamente sobre cada um desses conceitos
  • Essas informações podem ser estudadas aqui -> http://docs.djangobrasil.org/misc/design-philosophies.html#misc-design-philosophies   - Falar sobre DRY - Sobre Baixo Acoplamento - Sobre Escrever menos código - Sobre Desenvolvimento Ágil - Sobre Explicito é melhor que implicito
  • !!!
  • - explicar MVC - explicar MTV
  • - explicar MVC - explicar MTV
  • 1 - Pede para os participantes digitarem 'python' no console...(se linux, td ok) 2 - ...depois para digitar >>import django (aparecerá erro) 3 - Caso tenha internet, baixar o django via "apt-get" ou do site (descompactar e instalar usando: python setup.py install). 4 - repetir passo 2
  • 1 – Segue os passos para criar um projeto 2 – Pede aos participantes para conferir a pasta criada.
  • 3 - ...falar brevemente sobre os arquivos criados.     Comentar novamente conven. over config.
  • 1 – Falar sobre a utilizadade do settings.py 2 – Explicar as principais configurações 3 – Altera dados do banco, time_zone, language_code... 4 – Alterar o TEMPLATE_DIRS para similar ao usado na Fapeal.     Obs.  Lembrar que é um arquivo python e pode-se usar diversas praticipdades. 5 – Colocar as configurações para o admin (TODO – Ver na Fapeal) -------------------------------- 6 – Falar sobre o urls.py 7 – Descomentar as linhas para o admin. (lembrar dos espaçoes em branco ...identação Python) 8 – Sincronizar o banco de dados para gerar o banco     Lembrar de criar um super usuario
  • 4 – Pedir para rodar o servidor embutido   5 - Conferir se o servidor está rodando acessando pelo browser (http://localhost:8000)    6 - acessar o admin no browser e mostrar as funcionalidades
  • 1 - Falar brevemente dos possíveis métodos para servidores de produção
  • 9 – Pede aos participantes para criar a aplicação. 10 – Falar sobre os arquivos criados     models.py     tests.py     views.py 11 – Criar arquivo admin.py e colocar> from django.contrib import admin from models import Artigo admin.site.register(Artigo) 12 – Alterar novamente o settings para adicionar a app criada 13 – Sincronizar o bd...
  • 10 – Falar brevemente sobre os arquivos criados     models.py     tests.py     views.py
  • Falar da diferença entre aplicação e projeto
  • 1 - falar do re-sync e do re-run 2 - cadastrar alguns artigos para visualização
  • - falar do ACPB
  • - falar do ACPB

Mini Curso Django Ii Congresso Academico Ces Presentation Transcript

  • 1. Welcome to the Django!
  • 2. What's Django?
    • "Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design."
    •  
    • from http://www.djangoproject.com/
      "...and not a CMS System."
  • 3. Origins... Django Reinhardt
  • 4. Origins... Lawrence-Journal World
  • 5. Origins...
      • Pycon 2005 - Adrian Holovaty e Simon Willison
      • BSD License*
      • Django Software Foundation - 2008
    * http://en.wikipedia.org/wiki/BSD_licenses
  • 6. www.djangoproject.com
  • 7. Skills
    •  
      • Convention Over Configuration
      • Object-Relational Mapping (ORM)
      • Very useful admin CRUD
      • Form handling
      • Elegant URL Design
      • Template system
      • Cache system
      • i18n
    •  
    •  
    •  
  • 8. Principles (...or philosophies)
    •  
    •  
    •  
      • DRY ( Don't Repeat Yourself )
      • Loose coupling
      • Write less code as possible
      • Quick development
      • Explicit is better than implicit
    •  
    •  
    •  
    •  
  • 9.
    • ...and the best, is
  • 10. MVC? No... MTV!
  • 11. MVC vs. MTV
    •  
    •  
    •  
      • M odel --> M odel
      • V iew --> T emplate
      • C ontroller --> V iew
  • 12. Overview
  • 13. Go to the Project!
  • 14.
    •  
      • Download
        • djangoproject.com/download
      • Install
        • Unzip Django-x.x.tar.gz
        • python setup.py install
      • Or... apt-get install python-django (Debian like OS)
    Setting up...
  • 15. Create a Project...
    •  
    •  
    •  
      • django-admin.py startproject my_project
  • 16. Setup files
    •  
      • __init__.py - indicates a python package
    •  
      • manager.py - admin tasks
    •  
      • settings.py - project settings
    •  
      • urls.py - project urls map
  • 17. Let's to do something...
      • Open settings.py :
        • DATABASE_ENGINE = 'sqlite3'
        • DATABASE_NAME = 'myblog.db'
        • add 'django.contrib.admin'
      • Open urls.py :
        • Uncomment the line: " from django.contrib... "
        • Uncomment the line: " admin.autodiscover()... "
        • Uncomment the line: " (r'^admin... "
  • 18. Development server
    •  
    •  
    •  
      • python manager.py syncdb
    •  
      • python manager.py runserver [8000]
  • 19. Others Servers...
      • Development Server
    •  
      • Apache + Mod_Python
    •  
      • Apache + FastCGI
  • 20. Create the app
    •  
    •  
    •  
      • python manage.py startapp my_blog
  • 21. Setup files
    •  
    •  
      • init.py - indicates a python package
    •  
      • models.py - app domain model
    •  
      • views.py - project controller
  • 22. App x Project
    •  
    •  
      • App - web app that do something. E.g. XXX
      • Project - lot of apps and themselves settings. A project can be a lot of apps, and a app can stay in severals projects
  • 23. Create the model
    •  
    •  
      •   Open models.py and edit:
    •  
    •  
    • from django.db import models class Artigo(models.Model):
      • titulo = models.CharField(max_length=100)
      • conteudo = models.TextField()
      • publicacao = models.DateTimeField()
  • 24. Setting the model classes to admin
      • Open admin.py and edit:
    •  
    •  
    •  
    • from django.contrib import admin from models import Artigo  
    • admin.site.register(Artigo)
  • 25. Add the app to the admin
    •  
    •  
      • Open settings.py and add:
      • "my_project.blog"
      • Re-sync the database
      • Re-run the development server
  • 26. Setting the urls
    •  
      • Open the urls.py and edit:
    •  
    • from django.conf.urls.defaults import * # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() from my_blog.models import Artigo urlpatterns = patterns('',
          • (r'^$', 'django.views.generic.date_based.archive_index',
          • {'queryset': Artigo.objects.all(), 'date_field': 'publicacao'}),
          • (r'^admin/(.*)', admin.site.root),
    • )
  • 27. Setting the templates
    •  
      • Create templates/blog/artigo_archive.html and edit: 
    •  
    •  
    • <html><body> <h1>Meu blog</h1> {% for artigo in latest %} <h2>{{ artigo.titulo }}</h2> {{ artigo.conteudo }} {% endfor %} </body></html>
  • 28. Look your app!
    •  
    •  
    •  
      • http://localhost:8000/
  • 29. Recap...
    •  
    •  
    •  
      • Django is easy
      • Django is fun
      • Django scales
      • Django is maintainable
      • Django saves small kittens
      • It rocks - USE IT! 
  • 30. Sites powered by Python/Django
  • 31.  
  • 32. Contact/follow us...
    • [email_address]
    • [email_address]
    • Twitter:
    • @leofernandesmo
    • @felipe_wally