Técnicas para preparação e desenvolvimento de sites em django
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Técnicas para preparação e desenvolvimento de sites em django

  • 3,128 views
Uploaded on

Algumas dicas para desenvolvimento de projetos em python.

Algumas dicas para desenvolvimento de projetos em python.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,128
On Slideshare
3,002
From Embeds
126
Number of Embeds
5

Actions

Shares
Downloads
88
Comments
0
Likes
4

Embeds 126

http://pylestras.appspot.com 59
http://www.pylestras.org 34
http://pylestras.org 31
http://localhost:8080 1
http://pylestras.herokuapp.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Bom dia pessoal! Essa será uma apresentação mais voltada para o conhecimento de ferramentas que auxiliam no desenvolvimento soluções em Python e Django.
  • Me chamo Mário, sou desenvolvedor web e designer gráfico desde 2003, me formei em Ambientes de Internet pela FIC, posteriormente fiz um MBA em Design Digital e agora estou cursando Análise de Sistemas também na FIC. Conheci o Python a mais ou menos 1 ano e meio, desde então venho continuando meus estudos com mais freqüência nas horas vagas.
  • Nativo no MAC e grande parte das distribuições do Linux, Até hoje eu não conheço nenhuma distribuição do Linux que não venha com o Python instalado. Já no Windows é necessário instalar, más isso é algo que se pode fazer facilmente através de instaladores pra ambiente Windows, Os famosos, Next > Next > Next > OK, podemos obter esses instaladores para download no site oficial do Python (python.org), também encontramos um interpretador Python mais preparado para Windows no site da ActiveState, chamado Active Python.
  • PIP, que significa PIP install packages, se propõe a ser um poderoso substituto ao easy_install, com bem mais funcionalidades. Com ele podemos fazer download e instalação de pacotes Python facilmente, que se encontram disponíveis na web ou em pacotes de pacotes (bundles).
  • Para instalar o PIP em qualquer plataforma, basta baixar o módulo do PIP lá na página oficial de pacotes do Python que se encontra no site oficial do Python em uma página chamada PyPi que significa Python Package Index, então você acessa o PyPi e faz o download do pacote que geralmente está compactado. Então, como usar o PIP? Temos o comando install que praticamente é o seu uso mais básico e que define sua existência. Serve para instalar facilmente módulos python no interpretador python que está em execução.
  • Também podemos utilizar operadores de comparação como recurso para especificar a versão desejada do pacote.
  • Comando básico de desinstalação de pacotes python.
  • Lista todos os pacotes do interpretador Python em execução.
  • Seria basicamente uma forma mais rápida para compactar alguma pacote python ou gerar uma build segura para sua aplicação, compactando e guardando os pacotes em por exemplo uma pasta chamada build.
  • Uso apenas um projeto por workspace

Transcript

  • 1. Técnicas para preparação e desenvolvimento de sites com django Mário Chaves 26/02/2011 FA7
  • 2. Apresentação:
    •  
    • Desenvolvedor WEB e
    • Designer desde 2003
    • 1.5 anos de Python =)
    •  
    • MBA em Design Digital
    • [email_address]
    MÁRIO
  • 3. Python: Nativo em: Facilmente instalado em:
      • Python (Oficial)
      • Active Python
      • ...
  • 4. PIP Um poderoso substituto para o easy_install com mais funcionalidades ** PIP Install Packages **
  • 5. Comando: Install pip  install [nome do pacote] pip  install -U  [nome do pacote] Traz a ultima versão do pacote disponível no Pypi (Python Package Index). pip  install -e  hg+http://bitbucket.org/conta/projeto/ Instala pacote a partir de uma URL usando o parametro -e para informar o modo editable.
  • 6. Comando: Install Utilizar operadores para especificar a versão desejada. pip  install [nome do pacote] == 1.2 pip  install  [nome do pacote]  >=   1.1 pip  install  [nome do pacote] >    1.0 pip  install  [nome do pacote]  <    1.3 pip  install  [nome do pacote]  <=   0.8
  • 7. Comando: Uninstall Desinstala pacotes do Python em execução. pip uninstall [nome do pacote]
  • 8. Comando: Freeze Lista todos os pacotes do Python que o pip está sendo executado. pip freeze        Fabric==0.9.3      SQLAlchemy==0.6.3 applib==1.0.1      distribute==0.6.14
  • 9. Comando: Freeze Muito utilizado para gerar arquivo de requerimentos. pip freeze > requerimentos-dev.txt Facilidade na instalação de pacotes. pip  install  requerimentos-dev.txt A partir de requerimentos_dev.txt podemos gerar um arquivo requerimentos_prod.txt pip  freeze -r requerimentos-dev.txt > requerimentos-prod.txt
  • 10. Comando: Bundle Cria Bundles, Bundles são pacotes que contém vários pacotes. pip  bundle  pybundle pip bundle pacote.pybundle pacote Instalando um bundle com pacotes e dependências em outro ambiente. pip  install  pacote.pybundle
  • 11. Comando: Search Busca pacotes Python no PyPI. pip  search  pacote
  • 12. Comando: Zip Compacta pacotes. O pacote pode estar na raiz ou no PYTHONPATH do python em execução. pip  zip  pacote
  • 13. Comando: Unzip Descompacta o pacote especificado. pip  unzip  pacote
  • 14. Comando: Help Lista os comandos do pip. pip  help
  • 15. Virtualenv Crie ambientes virtuais isolados para projetos Python
  • 16. Virtualenv: instalação Crie ambientes virtuais isolados e instale qualquer pacote Python sem medo. ** Instale via pip ** pip  install virtualenv
  • 17. Comando: virtualenv Cria um ambiente virtual isolado. virtualenv  meu_python Para não reaproveitar pacotes já instalados no Python em execução, utilize. virtualenv --no-site-packages  meu_python
  • 18. Ativar com activate Ativar algum ambiente virtual previamente criado. source  path/to/meu_python/bin/activate ou .  path/to/meu_python/bin/activate Para se certificar que o ambiente foi ativado, veja se o nome do seu ambiente está no início da linha do prompt de comando. Ex. (meu_python)$ _
  • 19. Desativar com deactivate Desativar o ambiente virtual ativo. (meu_python)$  deactivate O prompt de comando retorna ao seu estado normal.
  • 20. Virtualenvwrapper Várias facilidades de uso para a virtualenv!
  • 21. Virtualenvwrapper: Facilidades? Porquê não instalar? ** Instale via pip ** pip  install virtualenvwrapper Após a instalação crie uma pasta chamada .virtualenvs em seu profile dir (unix ou macos) $  mkdir  ~/.virtualenvs
  • 22. Virtualenvwrapper: Após a instalação também é necessário carregar o script virtualenvwrapper.sh adicione ao seu ~/.bashrc, ~/.bash_profile ou ~/.profile no caso de MacOS export  WORKON_HOME=  $HOME/.virtualenvs source /caminho/bin/ virtualenvwrapper.sh Agora é so reiniciar o terminal e começar a utilizar os recursos da virtualenvwrapper
  • 23. Comando: mkvirtualenv Cria um ambiente virtual isolado similar ao virtualenv, sendo que não é necessário caminhar até o local onde o ambiente virtual será criado. mkvirtualenv  meu_python Podendo passar os argumentos do comando virtualenv Ex. mkvirtualenv --no-site-packages
  • 24. Comando: rmvirtualenv Remove o ambiente virtual rmvirtualenv  meu_python PS.  É necessário que o ambiente virtual esteja desativado.
  • 25. Comando: workon Ativa um ambiente virtual. workon  meu_python PS.  Quando passado sem parâmetros, lista os ambientes virtuais disponíveis. workon  meu_python meu_python          python_meu_projeto
  • 26. Comando: cdvirtualenv Muda o diretório atual para o diretório da virtualenv em execução. (meu_python)$ cdvirtualenv (meu_python)$  pwd (meu_python)$  /caminho/meu_python/
  • 27. Comando: cdsitepackages Muda o diretório atual para o diretório do site packages da virtualenv em execução. (meu_python)$ cdsitepackages (meu_python)$  pwd (meu_python)$  /python/site-packages/
  • 28. Comando: lssitepackages Lista os pacotes disponíveis no site packages do ambiente atual. (meu_python)$ lssitepackages ... Django-1.2.5-py.26.egg-info PIL imagekit ...
  • 29. Comando: cpvirtualenv Clona um ambiente virtual existente. cpvirtualenv meu_python clone_meu_python
  • 30. Aptana Studio + Pydev IDE livre para desenvolvimento!
  • 31. Configuração  básica do ambiente File > New
  • 32. Configuração  básica do ambiente Configurar o interpretador
  • 33. Configuração  básica do ambiente Criar uma virtualenv para o projeto antes de configurar o Aptana
  • 34. Configuração  básica do ambiente
  • 35. Configuração  básica do ambiente Clicar em Select all
  • 36. Configuração  básica do ambiente
  • 37. Configuração  django project
  • 38. Configuração  django project
  • 39. Configuração  django project
  • 40. Comando:  runserver
  • 41. Output:  It worked!
  • 42. Outros  comandos
  • 43. Pydev:  auto-complete / code
  • 44. Pydev:  auto-complete / templates
  • 45. Dicas  gerais
      • Criar imagens do layout para validação junto aos P.O's ( Assinatura do P.O.s ).
      • Criar templates em html com css, js e imagens.
      • Usar frameworks javascript para aumentar a produtividade no desenvolvimento de páginas mais interativas.
  • 46. Dicas  do settings
      • Criar módulo com configurações específicas.
      • try:
      •      from config  import  *
      • except ImportError, e :
      •      raise  e
      • +-----------------------------------------+
      •   # -*- coding: utf-8 -*-
      •   import  os
      •   ROOTDIR = os.path.dirname(__file__)
      •   DATABASES = {  #Configs do banco  }
      •   SECRET_KEY = &quot;$k(&8nawrt*dt%%ei6e%m0wn0z-)bdh-^-jv-ryke&quot;
      •   # configurações de email
      •   DEFAULT_FROM_EMAIL = &quot;macndesign@gmail.com&quot;
      •   ...
  • 47. Dicas  do settings
      • Localização e internacionalização básica do projeto.
      • TIME_ZONE = 'America/Fortaleza'
      • LANGUAGE_CODE = 'pt-br'
      • USE_I18N = True # Internacionalizar (trans)
      • USE_L10N = True # Localizar (datas, nºs ...)
      • Informar diretórios e urls básicas ao settings
      • MEDIA_ROOT = os.path.join(ROOTDIR, 'media' )
      • MEDIA_URL = '/media/'
      • ADMIN_MEDIA_PREFIX = '/admin_media/'
      • TEMPLATE_DIRS = (os.path.join(ROOTDIR,  'media' ),)
  • 48. Dicas  do settings
      • Framework de mensagens do django.
      • # Alocação das mensagens na sessão
      • MESSAGE_STORAGE = 'django.contrib.messages.storage
      • .session.SessionStorage’
      • Login e logout urls
      • LOGIN_URL = &quot;/accounts/login/&quot;
      • LOGOUT_URL = &quot;/accounts/logout/&quot;
      • LOGIN_REDIRECT_URL = &quot;/&quot;
      • Dados iniciais para tabelas padrões
      • FIXTURE_DIRS = ( os.path.join(ROOTDIR, 'fixtures' ),)
      • ./manage.py dumpdata --exclude=my_apps
      • --format=json --indent=4 > fixtures/initial_data.json
  • 49. Dicas  do settings,  locale default
  • 50. Dicas do settings, locale default
  • 51. Templates  pra dentro do django
      • Passar os templates para o django sem funcionalidades.
      • Inserir templates na raiz do diretório templates.
      • Configurar rotas para acessá-los de forma estática.
    urlpatterns = patterns( '' ,      url(r '^$' , 'django.views.generic.simple.direct_to_template' ,      { 'template' : 'index.html' , name= 'index' }, )
  • 52. Dicas  django
      • Dividir o projeto em django apps.
      • Criar uma app website para sessões simples e específicas do site (Equipe, Links, Contato, etc).
      • Dependendo do tamanho e do custo do projeto, usar SQLite para desenevolvimento e produção.
      • Automatizar CMS utilizando o admin do django.
  • 53. Dicas  django
      • Utilizar flatpages para páginas do tipo &quot;Sobre a empresa&quot;.
      • Utilizar fixtures para configurações gerais e específicas de cada app com dados iniciais em json.
      • Usar dumpdata para exportar dados em formato json.
      • App para migração de dados, alteração em tables (South, Evolution, etc) e ajuda em debug com django debug-toolbar.
  • 54. fim!