ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Welcome to the Django!
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."
Origins...




             Django Reinhardt
Origins...




             Lawrence-Journal World
Origins...



   Pycon 2005 - Adrian Holovaty e Simon Willison
   BSD License*
   Django Software Foundation - 2008




 * http://en.wikipedia.org/wiki/BSD_licenses
www.djangoproject.com
Skills


  Convention Over Configuration
  Object-Relational Mapping (ORM)
  Very useful admin CRUD
  Form handling
  Elegant URL Design
  Template system
  Cache system
  i18n
Principles (...or philosophies)



  DRY (Don't Repeat Yourself )
  Loose coupling
  Write less code as possible
  Quick development
  Explicit is better than implicit
...and the best, is
MVC? No... MTV!
MVC vs. MTV



 Model --> Model
 View --> Template
 Controller --> View
Overview
Go to the Project!
Setting up...


  Download
    djangoproject.com/download

  Install
      Unzip Django-x.x.tar.gz
      python setup.py install

  Or... apt-get install python-django (Debian like OS)
Create a Project...




  django-admin.py startproject my_project
Setup files


  __init__.py - indicates a python package

  manager.py - admin tasks

  settings.py - project settings

  urls.py - project urls map
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... "
Development server




 python manager.py syncdb

 python manager.py runserver [8000]
Others Servers...


  Development Server

  Apache + Mod_Python

  Apache + FastCGI
Create the app




 python manage.py startapp my_blog
Setup files


  init.py - indicates a python package

  models.py - app domain model

  views.py - project controller
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
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()
Setting the model classes to admin


    Open admin.py and edit:


from django.contrib import admin
from models import Artigo

admin.site.register(Artigo)
Add the app to the admin


  Open settings.py and add:
  "my_project.blog"

  Re-sync the database

  Re-run the development server
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),
)
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>
Look your app!




 http://localhost:8000/
Recap...



  Django is easy
  Django is fun
  Django scales
  Django is maintainable
  Django saves small kittens
  It rocks - USE IT!
Sites powered by Python/Django
Mini Curso de Django
Contact/follow us...

           leofernandesmo@gmail.com
            felipe.buarque@gmail.com


                   Twitter:
               @leofernandesmo
                @felipe_wally

More Related Content

What's hot (20)

PDF
A To-do Web App on Google App Engine
Michael Parker
?
PDF
Web Crawling Modeling with Scrapy Models #TDC2014
Bruno Rocha
?
PDF
Svelte JS introduction
Mikhail Kuznetcov
?
PDF
Dynamic Business Processes using Automated Actions
Daniel Reis
?
PDF
How I Became a WordPress Hacker
Mike Zielonka
?
PDF
Backbone.js
Omnia Helmi
?
PPT
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
Sam Hennessy
?
PDF
Selenium&amp;scrapy
Arcangelo Saracino
?
PDF
Introducere in web
Alex Eftimie
?
PDF
Odoo - CMS performances optimization
Odoo
?
PPTX
codeigniter
Mohamed Syam
?
PDF
"Service Worker: Let Your Web App Feel Like a Native "
FDConf
?
PDF
TYPO3 User Group - Lausanne - 12 novembre 2013
dfeyer
?
PPT
Django
Kangjin Jun
?
PPTX
An Overview of Models in Django
Michael Auritt
?
PDF
Views Style Plugins
mwrather
?
KEY
Google App Engine with Gaelyk
Choong Ping Teo
?
PDF
G* on GAE/J Ìô‘龎
Tsuyoshi Yamamoto
?
PDF
ºÝºÝߣs
Nick Efford
?
A To-do Web App on Google App Engine
Michael Parker
?
Web Crawling Modeling with Scrapy Models #TDC2014
Bruno Rocha
?
Svelte JS introduction
Mikhail Kuznetcov
?
Dynamic Business Processes using Automated Actions
Daniel Reis
?
How I Became a WordPress Hacker
Mike Zielonka
?
Backbone.js
Omnia Helmi
?
Task Scheduling and Asynchronous Processing Evolved. Zend Server Job Queue
Sam Hennessy
?
Selenium&amp;scrapy
Arcangelo Saracino
?
Introducere in web
Alex Eftimie
?
Odoo - CMS performances optimization
Odoo
?
codeigniter
Mohamed Syam
?
"Service Worker: Let Your Web App Feel Like a Native "
FDConf
?
TYPO3 User Group - Lausanne - 12 novembre 2013
dfeyer
?
An Overview of Models in Django
Michael Auritt
?
Views Style Plugins
mwrather
?
Google App Engine with Gaelyk
Choong Ping Teo
?
G* on GAE/J Ìô‘龎
Tsuyoshi Yamamoto
?
ºÝºÝߣs
Nick Efford
?

Viewers also liked (11)

PDF
Realizando Simula??es de Rede com o NS
Felipe Queiroz
?
ODP
Web Development in Django
Lakshman Prasad
?
PPTX
Unchain Your Web Development With Django
Joey Wilhelm
?
PPTX
python beginner talk slide
jonycse
?
PDF
Python for Beginners ( #PyLadiesKyoto Meetup )
Ai Makabi
?
PPTX
Django
Abhijeet Shekhar
?
PDF
Python Ecosystem for Beginners - PyCon Uruguay 2013
Hannes Hapke
?
PPTX
Learn python ¨C for beginners
RajKumar Rampelli
?
PDF
Django
sisibeibei
?
PPTX
Python 101: Python for Absolute Beginners (PyTexas 2014)
Paige Bailey
?
PDF
Web Development with Python and Django
Michael Pirnat
?
Realizando Simula??es de Rede com o NS
Felipe Queiroz
?
Web Development in Django
Lakshman Prasad
?
Unchain Your Web Development With Django
Joey Wilhelm
?
python beginner talk slide
jonycse
?
Python for Beginners ( #PyLadiesKyoto Meetup )
Ai Makabi
?
Python Ecosystem for Beginners - PyCon Uruguay 2013
Hannes Hapke
?
Learn python ¨C for beginners
RajKumar Rampelli
?
Django
sisibeibei
?
Python 101: Python for Absolute Beginners (PyTexas 2014)
Paige Bailey
?
Web Development with Python and Django
Michael Pirnat
?
Ad

Similar to Mini Curso de Django (20)

PPT
Mini Curso Django Ii Congresso Academico Ces
Leonardo Fernandes
?
PDF
Introduction to django
Ilian Iliev
?
PDF
django
webuploader
?
PDF
Django
Narcisse Siewe
?
PPTX
Introduction to Django
Ahmed Salama
?
PPTX
Django Girls Tutorial
Kishimi Ibrahim Ishaq
?
PDF
GDG Addis - An Introduction to Django and App Engine
Yared Ayalew
?
PDF
Django Workflow and Architecture
Andolasoft Inc
?
DOCX
Akash rajguru project report sem v
Akash Rajguru
?
PPTX
Why Django for Web Development
Morteza Zohoori Shoar
?
PDF
Django Introduction & Tutorial
Ö®Óî Úw
?
PDF
Django Documentation
Ying wei (Joe) Chou
?
PDF
Django
Mohamed Ramadan
?
KEY
Introduction Django
Wade Austin
?
PPTX
1-_Introduction_To_Django_Model_and_Database (1).pptx
TamilGamers4
?
PDF
Django 1.10.3 Getting started
MoniaJ
?
PPTX
Tango with django
Jaysinh Shukla
?
PDF
Treinamento django
Afonso Fran?a de Oliveira
?
PPTX
The Django Web Application Framework 2
fishwarter
?
Mini Curso Django Ii Congresso Academico Ces
Leonardo Fernandes
?
Introduction to django
Ilian Iliev
?
Introduction to Django
Ahmed Salama
?
Django Girls Tutorial
Kishimi Ibrahim Ishaq
?
GDG Addis - An Introduction to Django and App Engine
Yared Ayalew
?
Django Workflow and Architecture
Andolasoft Inc
?
Akash rajguru project report sem v
Akash Rajguru
?
Why Django for Web Development
Morteza Zohoori Shoar
?
Django Introduction & Tutorial
Ö®Óî Úw
?
Django Documentation
Ying wei (Joe) Chou
?
Introduction Django
Wade Austin
?
1-_Introduction_To_Django_Model_and_Database (1).pptx
TamilGamers4
?
Django 1.10.3 Getting started
MoniaJ
?
Tango with django
Jaysinh Shukla
?
Treinamento django
Afonso Fran?a de Oliveira
?
The Django Web Application Framework 2
fishwarter
?
Ad

Mini Curso de Django

  • 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
  • 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
  • 11. MVC vs. MTV Model --> Model View --> Template Controller --> View
  • 13. Go to the Project!
  • 14. Setting up... Download djangoproject.com/download Install Unzip Django-x.x.tar.gz python setup.py install Or... apt-get install python-django (Debian like OS)
  • 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
  • 32. Contact/follow us... leofernandesmo@gmail.com felipe.buarque@gmail.com Twitter: @leofernandesmo @felipe_wally