Python e Django
DESENVOLVIMENTO WEB

Youngling - Marcos Aurélio Melo Dias
marcos.a.melo.dias@gmail.com
http://www.python.org.br/
"Impressione-se, inicie."
Python
●
●
●
●
●
●

Multiplataforma
Multiparadigma
Tipagem dinâmica, mas forte
Boa curvar de aprendizagem
Comunidade forte
É divertido programar

=]
Python

http://www.toptal.com/python/por-que-h-tantos-pythons/pt
Zen do Python

$ python
>>> import this
Quem usa Python
●
●
●
●
●
●
●

Google
Governo Brasileiro
Globo
Lucasfilm
Dropbox
Nasa
Civilization IV

http://www.python.org/about/success/
Bibliotecas Python
Interface gráfica
●

Tkinter

●

PyQT

●

PySide

●

Mobile

Kivy

PyGTK

●

●

WxPython

●

●

Jogos
●

●

Pygame

Científico
●

SciPy

●

NumPy
Bibliotecas Python
●

Banco de Dados

●

Desenvolvimento WEB

●

PYRO

●

Zope e Plone

●

Tornado
CherryPy
TurboGears

●

●

Web2py

●

Sistemas Distribuídos

Flask

●

SqlAlchemy

●

●

●

Django

https://wiki.python.org/moin/UsefulModules
"Aprenda mais."
Django
●
●
●
●
●
●
●
●

Framework de desenvolvimento web ágil
Feito em Python
ORM próprio
Desenvolvimento dirigido a Testes (TDD)
Interface Administrativa
Internacionalização
Migração
Flexibilidade com banco de dados
Django

M
V
C

M
T
V
Preparando a infraestrutura

●

Python 3
sudo apt-get install python3 python3-doc
sudo apt-get install idle idle3
Preparando a infraestrutura

●

Install python-setuptools
sudo apt-get install python-setuptools
Preparando a infraestrutura
●

●

Install pip
sudo easy_install pip
Install Virtualenv
sudo pip install virtualenv
Preparando a infraestrutura
●

●

●

Criando o virtualenv
mkdir palestraSiteLEDS
Estando dentro de palestraSiteLEDS
virtualenv venv
Estando dentro de venv
source bin/activate
Preparando a infraestrutura

●

Para sair do virtualenv
deactivate
●

●

Instalação do Django
pip install django==1.6.2
Inciando um projeto django
django-admin.py startproject siteLEDS .
●

Preparar o banco de dados
python manage.py syncdb
Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session
You just installed Django's auth system, which means you don't have any superusers defined.

yes
Username (leave blank to use 'marcosdias'): admin
Email address: email@email.com
Would you like to create one now? (yes/no):

Password:
Password (again):
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
●

Executando a aplicação
python manage.py runserver
Validating models...
0 errors found
February 15, 2014 - 22:13:28
Django version 1.6.2, using settings 'siteLEDS.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
●

Ver os templates originais...
●

Estando dentro da pasta siteLEDS, criar o primeiro
app. Mas primeiro chega de python manage.py
alias manage='python $VIRTUAL_ENV/manage.py'

●

Criando o app
manage startapp core
Adicionando o app ao settings.py

...
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'siteLEDS.core',
)
...
●

●

●

Estando dentro da pasta core
mkdir templates
Estando dentro da pasta core
mkdir -p static/{img,css,js}
Divida os arquivos em suas devidas pastas
Mapeando as urls, no url.py
Preparando a view.py no app Core
Templates
Próxima view
Templates
Código Fonte
https://github.com/MarcosDias/Palestra_Python_

Django
https://github.com/LEDS/Palestra_Python_Django
"Envolva-se."
Comunidade Python

●

PythonBrasil - http://pythonbrasil.org.br
●

https://groups.google.com/group/python-brasil
Comunidade Django
●

Django - http://www.djangobrasil.org/
●

●

https://groups.google.com/forum/#!
forum/django-brasil

Comunidade internacional
●

https://groups.google.com/forum/#!
forum/django-users
DÚVIDAS?

Introdução a Python e Django