Your SlideShare is downloading. ×
Novidades do Django 1.2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Novidades do Django 1.2

510
views

Published on

Slides da lighting talk apresentada na pythoncampus do LNCC no dia 22/05/2010

Slides da lighting talk apresentada na pythoncampus do LNCC no dia 22/05/2010

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
510
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Novidades do Django 1.2¶ • Suporte a mútiplos bancos de dados • Validação de models • Framework de mensagens • Proteção contra CSRF • Mudanças no contrib.auth • Templatetag ‘if’ mais esperta • Mudanças no admin • E mais ...
  • 2. Múltiplos bancos de dados¶ • Escalabilidade • Integração com outras aplicações • Não é possível manter modelos relacionados (através de ForeignKey ou many-to-many) em bancos diferentes
  • 3. Múltiplos bancos de dados¶ DATABASES = { 'default': { 'NAME': 'app_data', 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'USER': 'postgres_user', 'PASSWORD': 's3krit' }, 'users': { 'NAME': 'user_data', 'ENGINE': 'django.db.backends.mysql', 'USER': 'mysql_user', 'PASSWORD': 'priv4te' } }
  • 4. Múltiplos bancos de dados¶ QuerySet.using() >>> User.objects.using('users').all() Model.save(using='db') >>> user = User(username='flavioamieiro') >>> user.save(using='users') Database routers Classes que definem quatro métodos: • db_for_read • db_for_write • allow_relation • allow_syncdb
  • 5. Validação de models¶ • Validação de campos específicos • Validação de todo o model • Validação de unicidade de um campo • Usado pelo ModelForm • Não é chamado automaticamente por Model.save()
  • 6. Framework de mensagens¶ • Mensagens baseadas em cookies ou em sessões • Diferentes níveis de mensagens • É possível enviar mensagens para usuários não autenticados
  • 7. Proteção contra CSRF¶ from django.views.decorators.csrf import csrf_protect @csrf_protect def my_view(request): # ... pass <form action="." method="post"> {% csrf_token %} <input type="text"> </form>
  • 8. Framework de mensagens¶ from django.contrib import messages def view(request): messages.success(request, 'Inscreva-se na pythoncampus') # ... # template.html {% if messages %} <ul class="messages"> {% for message in messages %} <li>{{ message }}</li> {% endfor %} </ul> {% endif %}
  • 9. Mudanças no contrib.auth¶ • Permissões por objeto • Permissão para usuários anônimos • Nomes de usuários aceitam mais caracteres
  • 10. Templatetag ‘if’ mais esperta¶ # Django 1.1 {% ifnotequal a b %} ... {% endifnotequal %} # Django 1.2 {% if a != b %} ... {% endif %} operadores suportados: ==, !=, <, >, <=, >=, in, not in
  • 11. Mudanças no admin¶ • Jquery • Campos somente leitura
  • 12. E mais ...¶ • Backends de e-mail • Cache de templates • Fixtures com ‘Natural keys’ • Fail Fast para testes • BigIntegerField • Melhorias na localização • Realce de sintaxe nos comandos do django-admin • Feeds podem ser usados diretos como views
  • 13. Saiba Mais¶ • http://docs.djangoproject.com/en/dev/releases/1.2/ • http://djangoadvent.com/ • http://www.github.com/django/django