Django Wars [Parte 03]: Hello World!

O Django Wars foi idealizado e desenvolvido no Django 1.4. Algumas funcionalidades aqui descritas podem não funcionar ou funcionar de forma diferente em outras versões do Django

Agora que já temos o projeto em andamento, precisamos nos preocupar com a parte da “visão”.
Como eu disse anterioremente em outro artigo, o nosso clone de “Mafia Wars” será um jogo de browser.
A única coisa que precisamos é de um navegador, html, javascript. Nada de plugins. Nada de flash.

Para montar nosso layout utilizaremos o Twitter Bootstrap.

Criei uma pasta chamada assets e dentro dela coloquei os arquivos de layout do Twitter Bootstrap (as pastas css, img e js).
Para fazer o Django mapear os arquivos desta pasta, preciso incluir no STATICFILES_DIRS dentro do settings.py o path físico da pasta que criei.

STATICFILES_DIRS = (
   # Put strings here, like "/home/html/static" or "C:/www/django/static".
   # Always use forward slashes, even on Windows.
   # Don't forget to use absolute paths, not relative paths.
   ( 'assets', os.path.join(os.path.dirname(__file__), 'assets').replace('\\', '/') ), # encontrando a pasta assets
)

Note que eu não escrevi o diretório da pasta e sim, escrevi um pequeno trecho de código que identifica onde a pasta está.
Esse código serve para se, caso eu mude minha pasta para outro local no HD, não terei que alterar os settings.py

Lembrando que, para esse código funcionar, preciso importar a biblioteca os.path

import os.path

Os arquivos de template do projeto ficarão na pasta ‘templates’.
Para que o Django encontre os templates, preciso adicionar esta pasta em TEMPLATE_DIRS no settings.py

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    os.path.join(os.path.dirname(__file__), 'templates').replace('\\','/'), # encontrando a pasta de templates
)

Agora que os arquivos de css e javascript do Twitter Bootstrap estão mapeados no Django e a pasta dos templates também, podemos começar a programar as views.
Para isso eu crio um arquivo views.py com o seguinte código:

# Create your views here.
from django.shortcuts import render_to_response

# pagina inicial do projeto django-wars
def index(request):
    return render_to_response("index.html")

Por fim, preciso informar o Django para mapear a url para a view que eu criei.
Basta alterar o arquivo urls.py da seguinte forma:

from django.conf.urls import patterns, include, url

import djangowars.views

urlpatterns = patterns('',
                       url(r'^$', djangowars.views.index),
)

Na pasta templates, basta criar um arquivo chamado “index.html” com o código que você deseja visualizar.

Para rodar a sua aplicação no servidor de testes do Django:

python manage.py runserver

Por padrão, seu teste é acessado em http://localhost:8000

Para ver como o meu código está ficando, acesse:
https://github.com/frenetic/Django-Wars

One thought on “Django Wars [Parte 03]: Hello World!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *