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!
Próximos SlideShares
Carregando em…5
×

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

3.355 visualizações

Publicada em

Algumas dicas para desenvolvimento de projetos em python.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

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!

×