Técnicas para preparação e desenvolvimento de sites com django Mário Chaves  26/02/2011  FA7
Apresentação: <ul><li>  </li></ul><ul><li>Desenvolvedor WEB e </li></ul><ul><li>Designer desde 2003 </li></ul><ul><li>1.5 ...
Python: Nativo em: Facilmente instalado em: <ul><ul><li>Python (Oficial) </li></ul></ul><ul><ul><li>Active Python </li></u...
PIP Um poderoso substituto para o easy_install com mais funcionalidades ** PIP Install Packages **
Comando:  Install pip  install  [nome do pacote] pip  install -U  [nome do pacote] Traz a ultima versão do pacote disponív...
Comando:  Install Utilizar operadores para especificar a versão desejada. pip  install  [nome do pacote]  ==   1.2 pip  in...
Comando:  Uninstall Desinstala pacotes do Python em execução. pip  uninstall  [nome do pacote]
Comando:  Freeze Lista todos os pacotes do Python que o pip está sendo executado. pip  freeze        Fabric==0.9.3       S...
Comando:  Freeze Muito utilizado para gerar arquivo de requerimentos. pip  freeze >  requerimentos-dev.txt Facilidade na i...
Comando:  Bundle Cria Bundles, Bundles são pacotes que contém vários pacotes. pip  bundle  pybundle pip  bundle  pacote.py...
Comando:  Search Busca pacotes Python no PyPI. pip  search  pacote
Comando:  Zip Compacta pacotes. O pacote pode estar na raiz ou no PYTHONPATH do python em execução. pip  zip  pacote
Comando:  Unzip Descompacta o pacote especificado. pip  unzip  pacote
Comando:  Help Lista os comandos do pip. pip  help
Virtualenv Crie ambientes virtuais isolados para projetos Python
Virtualenv:  instalação Crie ambientes virtuais isolados e instale qualquer pacote Python sem medo. ** Instale via pip ** ...
Comando:  virtualenv Cria um ambiente virtual isolado. virtualenv  meu_python Para não reaproveitar pacotes já instalados ...
Ativar com  activate Ativar algum ambiente virtual previamente criado. source  path/to/meu_python/bin/activate ou .  path/...
Desativar com  deactivate Desativar o ambiente virtual ativo. (meu_python)$  deactivate O prompt de comando retorna ao seu...
Virtualenvwrapper Várias facilidades de uso para a virtualenv!
Virtualenvwrapper: Facilidades? Porquê não instalar? ** Instale via pip ** pip  install  virtualenvwrapper Após a instalaç...
Virtualenvwrapper: Após a instalação também é necessário carregar o script virtualenvwrapper.sh adicione ao seu ~/.bashrc,...
Comando:  mkvirtualenv Cria um ambiente virtual isolado similar ao virtualenv, sendo que não é necessário caminhar até o l...
Comando:  rmvirtualenv Remove o ambiente virtual rmvirtualenv  meu_python PS.  É necessário que o ambiente virtual esteja ...
Comando:  workon Ativa um ambiente virtual. workon  meu_python PS.  Quando passado sem parâmetros, lista os ambientes virt...
Comando:  cdvirtualenv Muda o diretório atual para o diretório da virtualenv em execução. (meu_python)$  cdvirtualenv (meu...
Comando:  cdsitepackages Muda o diretório atual para o diretório do site packages da virtualenv em execução. (meu_python)$...
Comando:  lssitepackages Lista os pacotes disponíveis no site packages do ambiente atual. (meu_python)$  lssitepackages .....
Comando:  cpvirtualenv Clona um ambiente virtual existente. cpvirtualenv  meu_python  clone_meu_python
Aptana Studio + Pydev IDE livre para desenvolvimento!
Configuração  básica do ambiente File > New
Configuração  básica do ambiente Configurar o interpretador
Configuração  básica do ambiente Criar uma virtualenv para o projeto antes de configurar o Aptana
Configuração  básica do ambiente
Configuração  básica do ambiente Clicar em Select all
Configuração  básica do ambiente
Configuração  django project
Configuração  django project
Configuração  django project
Comando:  runserver
Output:  It worked!
Outros  comandos
Pydev:  auto-complete  /   code
Pydev:  auto-complete  /   templates
Dicas  gerais <ul><ul><li>Criar imagens do layout para validação junto aos P.O's ( Assinatura do P.O.s ). </li></ul></ul><...
Dicas  do settings <ul><ul><li>Criar módulo com configurações específicas. </li></ul></ul><ul><ul><li>try: </li></ul></ul>...
Dicas  do settings <ul><ul><li>Localização e internacionalização básica do projeto. </li></ul></ul><ul><ul><li>TIME_ZONE =...
Dicas  do settings <ul><ul><li>Framework de mensagens do django. </li></ul></ul><ul><ul><li># Alocação das mensagens na se...
Dicas  do settings,  locale default
Dicas  do settings,  locale default
Templates  pra dentro do django <ul><ul><li>Passar os templates para o django sem funcionalidades. </li></ul></ul><ul><ul>...
Dicas  django <ul><ul><li>Dividir o projeto em django apps. </li></ul></ul><ul><ul><li>Criar uma app website para sessões ...
Dicas  django <ul><ul><li>Utilizar flatpages para páginas do tipo &quot;Sobre a empresa&quot;. </li></ul></ul><ul><ul><li>...
fim!
Upcoming SlideShare
Loading in...5
×

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

2,982

Published on

Algumas dicas para desenvolvimento de projetos em python.

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,982
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
102
Comments
0
Likes
5
Embeds 0
No embeds

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 &gt; Next &gt; Next &gt; 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
  • Técnicas para preparação e desenvolvimento de sites em django

    1. 1. Técnicas para preparação e desenvolvimento de sites com django Mário Chaves 26/02/2011 FA7
    2. 2. Apresentação: <ul><li>  </li></ul><ul><li>Desenvolvedor WEB e </li></ul><ul><li>Designer desde 2003 </li></ul><ul><li>1.5 anos de Python =) </li></ul><ul><li>  </li></ul><ul><li>MBA em Design Digital </li></ul><ul><li>[email_address] </li></ul>MÁRIO
    3. 3. Python: Nativo em: Facilmente instalado em: <ul><ul><li>Python (Oficial) </li></ul></ul><ul><ul><li>Active Python </li></ul></ul><ul><ul><li>... </li></ul></ul>
    4. 4. PIP Um poderoso substituto para o easy_install com mais funcionalidades ** PIP Install Packages **
    5. 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. 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. 7. Comando: Uninstall Desinstala pacotes do Python em execução. pip uninstall [nome do pacote]
    8. 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. 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. 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. 11. Comando: Search Busca pacotes Python no PyPI. pip  search  pacote
    12. 12. Comando: Zip Compacta pacotes. O pacote pode estar na raiz ou no PYTHONPATH do python em execução. pip  zip  pacote
    13. 13. Comando: Unzip Descompacta o pacote especificado. pip  unzip  pacote
    14. 14. Comando: Help Lista os comandos do pip. pip  help
    15. 15. Virtualenv Crie ambientes virtuais isolados para projetos Python
    16. 16. Virtualenv: instalação Crie ambientes virtuais isolados e instale qualquer pacote Python sem medo. ** Instale via pip ** pip  install virtualenv
    17. 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. 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. 19. Desativar com deactivate Desativar o ambiente virtual ativo. (meu_python)$  deactivate O prompt de comando retorna ao seu estado normal.
    20. 20. Virtualenvwrapper Várias facilidades de uso para a virtualenv!
    21. 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. 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. 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. 24. Comando: rmvirtualenv Remove o ambiente virtual rmvirtualenv  meu_python PS.  É necessário que o ambiente virtual esteja desativado.
    25. 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. 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. 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. 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. 29. Comando: cpvirtualenv Clona um ambiente virtual existente. cpvirtualenv meu_python clone_meu_python
    30. 30. Aptana Studio + Pydev IDE livre para desenvolvimento!
    31. 31. Configuração  básica do ambiente File > New
    32. 32. Configuração  básica do ambiente Configurar o interpretador
    33. 33. Configuração  básica do ambiente Criar uma virtualenv para o projeto antes de configurar o Aptana
    34. 34. Configuração  básica do ambiente
    35. 35. Configuração  básica do ambiente Clicar em Select all
    36. 36. Configuração  básica do ambiente
    37. 37. Configuração  django project
    38. 38. Configuração  django project
    39. 39. Configuração  django project
    40. 40. Comando:  runserver
    41. 41. Output:  It worked!
    42. 42. Outros  comandos
    43. 43. Pydev:  auto-complete / code
    44. 44. Pydev:  auto-complete / templates
    45. 45. Dicas  gerais <ul><ul><li>Criar imagens do layout para validação junto aos P.O's ( Assinatura do P.O.s ). </li></ul></ul><ul><ul><li>Criar templates em html com css, js e imagens. </li></ul></ul><ul><ul><li>Usar frameworks javascript para aumentar a produtividade no desenvolvimento de páginas mais interativas. </li></ul></ul>
    46. 46. Dicas  do settings <ul><ul><li>Criar módulo com configurações específicas. </li></ul></ul><ul><ul><li>try: </li></ul></ul><ul><ul><li>     from config  import  * </li></ul></ul><ul><ul><li>except ImportError, e : </li></ul></ul><ul><ul><li>     raise  e </li></ul></ul><ul><ul><li>+-----------------------------------------+ </li></ul></ul><ul><ul><li>  # -*- coding: utf-8 -*- </li></ul></ul><ul><ul><li>  import  os </li></ul></ul><ul><ul><li>  ROOTDIR = os.path.dirname(__file__) </li></ul></ul><ul><ul><li>  DATABASES = {  #Configs do banco  } </li></ul></ul><ul><ul><li>  SECRET_KEY = &quot;$k(&8nawrt*dt%%ei6e%m0wn0z-)bdh-^-jv-ryke&quot; </li></ul></ul><ul><ul><li>  # configurações de email </li></ul></ul><ul><ul><li>  DEFAULT_FROM_EMAIL = &quot;macndesign@gmail.com&quot; </li></ul></ul><ul><ul><li>  ... </li></ul></ul>
    47. 47. Dicas  do settings <ul><ul><li>Localização e internacionalização básica do projeto. </li></ul></ul><ul><ul><li>TIME_ZONE = 'America/Fortaleza' </li></ul></ul><ul><ul><li>LANGUAGE_CODE = 'pt-br' </li></ul></ul><ul><ul><li>USE_I18N = True # Internacionalizar (trans) </li></ul></ul><ul><ul><li>USE_L10N = True # Localizar (datas, nºs ...) </li></ul></ul><ul><ul><li>Informar diretórios e urls básicas ao settings </li></ul></ul><ul><ul><li>MEDIA_ROOT = os.path.join(ROOTDIR, 'media' ) </li></ul></ul><ul><ul><li>MEDIA_URL = '/media/' </li></ul></ul><ul><ul><li>ADMIN_MEDIA_PREFIX = '/admin_media/' </li></ul></ul><ul><ul><li>TEMPLATE_DIRS = (os.path.join(ROOTDIR,  'media' ),) </li></ul></ul>
    48. 48. Dicas  do settings <ul><ul><li>Framework de mensagens do django. </li></ul></ul><ul><ul><li># Alocação das mensagens na sessão </li></ul></ul><ul><ul><li>MESSAGE_STORAGE = 'django.contrib.messages.storage </li></ul></ul><ul><ul><li>.session.SessionStorage’ </li></ul></ul><ul><ul><li>Login e logout urls </li></ul></ul><ul><ul><li>LOGIN_URL = &quot;/accounts/login/&quot; </li></ul></ul><ul><ul><li>LOGOUT_URL = &quot;/accounts/logout/&quot; </li></ul></ul><ul><ul><li>LOGIN_REDIRECT_URL = &quot;/&quot; </li></ul></ul><ul><ul><li>Dados iniciais para tabelas padrões </li></ul></ul><ul><ul><li>FIXTURE_DIRS = ( os.path.join(ROOTDIR, 'fixtures' ),) </li></ul></ul><ul><ul><li>./manage.py dumpdata --exclude=my_apps </li></ul></ul><ul><ul><li>--format=json --indent=4 > fixtures/initial_data.json </li></ul></ul>
    49. 49. Dicas  do settings,  locale default
    50. 50. Dicas do settings, locale default
    51. 51. Templates  pra dentro do django <ul><ul><li>Passar os templates para o django sem funcionalidades. </li></ul></ul><ul><ul><li>Inserir templates na raiz do diretório templates. </li></ul></ul><ul><ul><li>Configurar rotas para acessá-los de forma estática. </li></ul></ul>urlpatterns = patterns( '' ,      url(r '^$' , 'django.views.generic.simple.direct_to_template' ,      { 'template' : 'index.html' , name= 'index' }, )
    52. 52. Dicas  django <ul><ul><li>Dividir o projeto em django apps. </li></ul></ul><ul><ul><li>Criar uma app website para sessões simples e específicas do site (Equipe, Links, Contato, etc). </li></ul></ul><ul><ul><li>Dependendo do tamanho e do custo do projeto, usar SQLite para desenevolvimento e produção. </li></ul></ul><ul><ul><li>Automatizar CMS utilizando o admin do django. </li></ul></ul>
    53. 53. Dicas  django <ul><ul><li>Utilizar flatpages para páginas do tipo &quot;Sobre a empresa&quot;. </li></ul></ul><ul><ul><li>Utilizar fixtures para configurações gerais e específicas de cada app com dados iniciais em json. </li></ul></ul><ul><ul><li>Usar dumpdata para exportar dados em formato json. </li></ul></ul><ul><ul><li>App para migração de dados, alteração em tables (South, Evolution, etc) e ajuda em debug com django debug-toolbar. </li></ul></ul>
    54. 54. fim!
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×