Post's com a tag "python"

06
Out

Minhas palestras apresentadas na PyConBrasil2008

Para quem não sabe, em Setembro aconteceu a PyConBrasil2008. O evento foi muito legal. Foi bom rever os amigos, ver palestras legais de desenvolvedores nacionais e internacionais. Em poucas palavras: 'Quem não foi perdeu!'


E como o título desse post está sugerindo, estou disponibilizando as apresentações que fiz no evento no slideshare:




Django Show
View SlideShare presentation or Upload your own. (tags: pyconbrasil2008 python)
25
Jul

Uma conversa sobre Django e tudo mais, no Café com TOM

Sábado, dia 26 de Julho a convite do meu amigo Carlos, estarei apresentando o Django no Café com TOM numa conversa bem bacana e descontraída.


Se você não sabe o que é o Django, está afim de conhecer. Ou se você já conhece o framework mas quer saber mais? Ou apenas está sem fazer nada no sábado e quer fazer algo bem nerd, participe você também do Café com TOM.


Não esqueça de trazer a coca-cola.

22
Jul

Lançado o Django 1.0 alpha

Foi lançando o primeiro release de uma série que será lançada até o lançamento do Django 1.0 previsto para Setembro de 2008.



As principais novidades dessa versão com relação ao Django 0.96 são:




  • O admin foi refatorado (newforms-admin)

  • Suporte total a Unicode

  • Melhorias no ORM

  • Autoescape automático em variáveis de template



Entre outras melhorias menores e correções de erros.



As incompatibilidades podem serem vistas nesse link: http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges

18
Jul

Foi feito o merge do newforms-admin com o trunk do Django

Brian Rosner acabou de anunciar na lista oficial do Django que foi feito o merge do newforms-admin branch com a versão em desenvolvimento do Django (trunk).


Quem ainda não utiliza o newforms-admin, cuidado ao usar a versão em desenvolvimento do Django. Para quem já usa, bom proveito!

12
Jul

Utilizando widgets do newforms-admin

Uma pergunta que frequentemente é feita na lista ou no canal (#django-br) da comunidade Django brasileira e quase sempre não é respondida é: 'Como utilizar o widget de data do admin do Django em um formulário normal?'.



O admin do Django é uma das ferramentas mais espetaculares do framework, e um dos motivos disso são seus belos widgets. Um dos principais widgets é o widget para datas. Esse campo trabalha com datas de uma forma bacana, sem contar com o calendário que vem com ele.



Mas, voltando à pergunta, é possível sim utilizar esse widget, e se estiver utilizando o branch do newforms-admin isso é muito fácil.



Para demonstrar isso através da prática, iremos precisar de um model. Para isso vamos criar um model Noticia, para um sistema de notícias onde seus campos seriam: titulo, conteúdo e data:




class Noticia:
titulo = models.CharField(max_length=255)
conteudo = models.TextField()
data = models.DateTimeField()


Agora vamos criar um formulário para cadastrar as notícias. Eu geralmente gosto de criar um arquivo chamado forms.py onde eu coloco as classes responsáveis pelos meus formulários.



Eu vou criar um formulário utilizando o ModelForm que gera um formulário a partir de um model. E irei sobrescrever o campo data, configurando ele para utilizar o widget de data do newforms-admin.



É preciso também, importar as classes e métodos necessário para utilizar o newforms, ModelForm e as classes referentes ao widget que vamos utilizar.




from django.newforms import ModelForm
from django import newforms as forms
from django.contrib.admin.widgets import AdminDateWidget

from models import *

class NoticiaForm(ModelForm):

data = forms.DateTimeField(widget=AdminDateWidget())

class Meta:
model = Noticia


Vamos então criar uma view que enviará para uma template o nosso formulário.




from django.shortcuts import render_to_response

from forms import *

def index(request):
form = NoticiaForm()
return render_to_response('index.html', {'form':form})


Agora vamos criar a template que exibirá nosso formulário, lembrando de importar os javascripts e arquivos css necessários para exibir o widget de data corretamente.




<html>
<head>
<link rel="stylesheet" type="text/css" href="/admin_media/css/base.css" />
<link rel="stylesheet" type="text/css" href="/admin_media/css/forms.css" />
<link rel="stylesheet" type="text/css" href="/admin_media/css/widgets.css" />
<script type="text/javascript" src="/admin/jsi18n/"></script>
<script src="/admin_media/js/core.js"></script>
<script src="/admin_media/js/dateparse.js"></script>
<script src="/admin_media/js/timeparse.js"></script>
<script src="/admin_media/js/calendar.js"></script>
<script src="/admin_media/js/admin/DateTimeShortcuts.js" type="text/javascript"></script>
</head>
<body>
{{ form.as_p }}
</body>
</html>


E finalmente vamos configurar as urls.




from django.conf.urls.defaults import *
from noticias.views import *
from django.contrib import admin

urlpatterns = patterns('',

(r'^$', index),
('^admin/(.*)', admin.site.root),
)


Lembrando que para o widget funcionar corretamente é preciso que o admin esteja adicionado nas INSTALED_APPS no arquivo settings.py do seu projeto e que o admin esteja adicionado no urls.py.



Para não ter erro estou adicionando um arquivo compactado com um projeto exemplo para vocês fazerem o download.


« Página Anterior1234567Próxima Página »