Fork me on GitHub

Viagens, opiniões e afins

by Andre Fonseca


Finalmente minha primeira página com Django

Meus amigos após horas de tentativa e erro para colocar a primeira aplicação em Django executando, segue abaixo uma rota que irá guia-los melhor. Ao contrário do que eu disse no post anterior, os passos a seguir indicam uma instalação usando o lighttp (ele é mais rápido e leve que o apache).
Bom, em todos os tutoriais que li, eles recomendam uma séria de passo a passo, que a maioria não funciona. Sempre fica faltando o “pulo do gato”. Até parece M$ : )))) .
Vamos ao que interessa:
1 – Baixe e instale os pacotes do lighttp, django, e python-flup para o fastcgi
2 – Após crie seu primeiro projeto Django:

 django-admin startproject meu_primeiro_site

3 – dentro do seu novo projeto crie uma aplicação que conterá os dados (controladores, modelos, visões, etc)

 django-admin startapp ola

4 – Dentro do diretório de configurações do lighttp, crie um arquivo para o seu site funcionar com customizações.

sudo vi /etc/lighttp/conf-availble/10-meu_primeiro_site.conf

5 – o conteúdo do arquivo deve ser algo semelhante a :

server.modules += (“mod_fastcgi”)
server.modules += (“mod_rewrite”)

fastcgi.server = (
“/default.fcgi” => (
“main” => (
“socket” => “/tmp/lighttp-default.sock”,
“check-local” => “disable”,
“bin-path” => “/var/django/projects/primeiro_site/deploy/default.fcgi”
)
)
)

alias.url = (
“/media” => “/var/django/projects/primeiro_site/media”,
“/admin_media” => “/usr/share/python-support/python-django/django/contrib/admin/media/”
)

url.rewrite-once = (
“^(/media/.*)$” => “$1″,
“^(/admin_media/.*)$” => “$1″,
“^(/.*)$” => “/default.fcgi$1″
)

6 – No diretório que você indicou para o bin-path, no meu caso “/var/django/projects/primeiro_site/deploy/default.fcgi”, crie um arquivo chamado default.fcgi com o seguinte conteúdo:

#!/usr/bin/python
import sys, os

sys.path.insert(0, ‘/var/django/projects/primeiro_site/’)
sys.path.insert(0, ‘/var/django/projects/primeiro_site/hello_world/’)

os.chdir(“/var/django/projects/primeiro_site/”)
os.environ['DJANGO_SETTINGS_MODULE'] = “settings”

from django.core.servers.fastcgi import runfastcgi
runfastcgi(["method=threaded", "daemonize=false"])

7 – Transforme este arquivo recem criado em executavel (mude a permissão dele)

chmod a+x default.fcgi

8 – Relance o servidor lighttp :

sudo /etc/init.d/lighttp restart

9 – Para ver se tudo está ok, vá no diretorio do arquivo default.fcgi e use o python para executá-lo:

python ./default.fcgi

Veja os erros e vá corrigindo, pois pode ter problemas de copiar e colar.

Published by Andre Fonseca, on junho 21st, 2009 at 7:54 am. Filled under: django,Informática,python2 Comments

2 Responses to “Finalmente minha primeira página com Django”

  1. Olá tem como você fazer uma para o apache sou novo no ubuntu está meio desorganizado o diretório do apache para um lado do django para o outro os projetos para outro estou meio confuso

    Comentário by Roraima on 28 de julho de 2009 at 3:53



  2. Desculpe amigo, eu não entendi a sua pergunta: caso queira ter um diretório para o django, um outro para o apache e etc, isso é totalmente possível e recomendado.
    Para maiores esclarecimentos veja o tutorial do Django no site do projeto senão, post aqui um comentário que tento responder.

    Comentário by Andre Fonseca on 28 de julho de 2009 at 20:45



Leave a Reply