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
Muito top ! ta me ajudando muito no aprendizado