Fotografia de Pedro Cavaco

Menu:

Pesquisar

Março 2011
M T W T F S S
« Feb   Apr »
 123456
78910111213
14151617181920
21222324252627
28293031  

Arquivos

Categorias

Momentos


Social

Twitter

Suportes

Arch Linux Whos Amung Us Valid XHTML 1.0 Transitional Valid CSS Level A conformance Valid RSS

Apache e Django em Windows – 2º parte

Esta é a 2º parte de um artigo, a 1º parte pode ser econtrada aqui.

Vamos começar por enunciar o que já fizemos até ao momento:
1º – Configuramos o pythonpath
2º – Instalámos o módulo wsgi
3º – Instalámos o Django

4º passo – instalar a Base de Dados
O Django requer uma base de dados para funcionar, pelo que habitualmente as duas das opções mais imediatas são o PostgreSQL ou MySQL, seja qual for a opção, os passos a tomar são semelhantes.
Caso a vossa escolha recaia sobre o PostgreSQL, após o mesmo estar instalado e configurado, devem instalar o Psycopg, como o que precisamos mesmo é o binário para Windows, ele pode ser descarregado aqui (consoante a vossa versão do PostgreSQL).
Se a vossa escolha for MySQL (caso ainda não o tenham), nesse caso após a respectiva instalação e configuração, devem instalar o MySQL-python ou mais especificamente, o seu binário para Windows, que pode ser encontrado aqui.
Tanto o psycopg como mysql-python são adaptadores que permitem “uma comunicação directa” entre o vosso interpretador e a base de dados.

5º passo – criar um projecto Django no htdocs
Agora que o sistema está práticamente todo a funcionar, vamos criar um projecto na pasta htdocs do vosso Apache.
Primeiro vamos necessitar novamente do ficheiro django-admin.py que tal como anteriormente, se econtra na pasta principal da vossa instalação do Python, no meu caso: “C:/Programas/Python27/django-admin.py″.
Copiem o ficheiro para a vossa pasta htdocs que habitualmente se encontra em “C:/Program Files/Apache Group/Apache2/htdocs/” e executem os seguintes passos, como no meu caso estou a usar o XAMPP, o processo seguinte será algo como:

– cd C:/Program Files/XAMPP/xampp/htdocs/
– django-admin.py startproject exemplo
– cd exemplo

Agora que o projecto está criado, podemos fechar a Linha de Comandos e vamos sim aceder à pasta do mesmo (através do Explorador do Windows), já dentro da pasta “C:/Program Files/XAMPP/xampp/htdocs/exemplo” vamos criar um ficheiro a que vamos dar o nome de django.wsgi e introduzir o seguinte texto dentro do ficheiro:

import os, sys
sys.path.append(‘C:/Programas/Python27/’)
sys.path.append(‘C:/Program Files/XAMPP/xampp/htdocs/’)
sys.path.append(‘C:/Program Files/XAMPP/xampp/htdocs/exemplo’)
os.environ[‘DJANGO_SETTINGS_MODULE’] = ‘settings’
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Este ficheiro .wsgi é o responsável para o que o vosso Apache compreenda que está a lidar com um projecto de python e mais especificamente de django, pelo que cada novo projecto que criem futuramente, necessita de ter um ficheiro de configuração .wsgi à semelhança deste.

6º passo – configurar o httpd.conf
Para fazer a configuração final do httpd.conf devemos ir novamente à pasta /apache/modules/ e abrir o respectivo ficheiro, httpd.conf.
Com ficheiro já aberto no vosso editor preferido,  procurem a secção do DocumentRoot e na seguinte a essa, adicionem os seguintes dados, que devem estar em conformidade com a pasta (nome) que deram ao vosso projecto, anteriormente:

WSGIScriptAlias /exemplo “C:/Program Files/XAMPP/xampp/htdocs/exemplo/django.wsgi”
<Directory “C:/Program Files/XAMPP/xampp/htdocs/exemplo/”>
AllowOverride None
Options None
Order deny,allow
Allow from all
</Directory>

 

Alias /media/ “C:/Programas/Python27/Lib/site-packages/django/contrib/admin/media/”

Por cada novo projecto que queiram realizar com o Django de forma integrada ao Apache, devem sempre adicionar uma configuração respectiva como a que está exemplificada acima.
A única exepcção vai para a a linha final “Alias /media/…” que serve apenas para indicar ao Apache onde se encontram os ficheiros de média (imagens, etc) para a área de administração, e que é transversal a todos os projectos.

7º passo – Finalização
Agora que concluímos todos os nosso passos, a instalação do Django já deve correr nativamente como o vosso Apache, pelo que o http://127.0.0.1/exemplo deverá ser o vosso ponto de partida para explorarem este novo? mundo.
Devem ter em mente que cada alteração estrutural a nível de configurações (e isto já dentro do próprio Django) requer por vezes a reinicialização do vosso servidor, isto deve ao facto de o vosso esqueleto de funcionamento em Windows ser algo como:
Python <–> ( MySQL/PostgreSQL <-> mysql-python/psycopg ) <—> Wsgi   <–> Apache <–> Wsgi <—> Django
Espero que este artigo possa ser útil, e que seja aquele que eu não tive para chegar lá com sucesso.

Lembrem-se “Don’t fight the environment and go with the flow

Comentários

GravatarComentário de Alcides
28 de Março de 2011, 2:49 post meridiem

Já usei vários tipos de instalação de django em windows para deployment, e o mais simples e eficaz para mim foi usar o http://bitnami.org/stack/djangostack. É um instalador que trata de tudo. Desde a instalação de Python, a bases de dados

Como desvantagem tem o python 2.6.5, o que embora seja suficientemente actual para a maior parte dos projectos, pode ser limitador.

GravatarComentário de Pedro Cavaco
28 de Março de 2011, 11:41 ante meridiem

Epá desconhecia e realmente poupa tempo e trabalho…
A questão do 2.6.5 também deve ser temporária, portanto para criar um ambiente de produção “caseiro”, serve bem.
Obrigado pela dica