SlideShare una empresa de Scribd logo
1 de 45
Lo nuevo de Django
Pedro Burón
Django Unchained
Pedro Burón
Agenda
• Django 1.7
– App loading framework
– Forms
– Querysets
– Schema Migrations
Agenda
• Django 1.8
– Postgres specifics
– Conditional expressions
– Template Engines
Agenda
• Django 1.7
– Schema Migrations
• Django 1.8
– Conditional expressions
– Template Engines
App Loading
Framework
AppConfig
from django.apps import AppConfig
class RockNRollConfig(AppConfig):
name = 'rock_n_roll'
verbose_name = "Rock ’n’ roll”
class GypsyJazzConfig(RockNRollConfig):
verbose_name = "Gypsy jazz“
INSTALLED_APPS = [
'anthology.apps.GypsyJazzConfig',
# ...
]
Forms
Forms add error
def clean(self):
cleaned_data = super(ContactForm, self).clean()
cc_myself = cleaned_data.get("cc_myself")
subject = cleaned_data.get("subject")
if cc_myself and subject and "help" not in subject:
msg = u"Must put 'help' in subject."
self.add_error('cc_myself', msg)
self.add_error('subject', msg)
Querysets
Queryset as managers
class MyQueryset(models.QuerySet):
def published(self):
return self.filter(published=True)
class MyModel(models.Model):
objects = MyQueryset.as_manager()
...
Schema Migrations
Thanks to:
Andrew Godwin
Migrations directory
$ ./manage.py startapp myapp
$ tree
.
|-- djangounchained
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
|-- manage.py
`-- myapp
|-- admin.py
|-- migrations
|-- models.py
`-- views.py
Models
# models.py
class Entry(models.Model):
title = models.CharField(…)
content = models.TextField()
slug = models.SlugField(…)
Make migrations
$ ./manage.py makemigrations myapp
The Migration File
class Migration(migrations.Migration):
dependencies = []
operations = [
migrations.CreateModel(
name='Entry',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False,
auto_created=True, primary_key=True)),
('title', models.CharField(max_length=200)),
('content', models.TextField()),
('slug', models.SlugField(unique=True, max_length=200)),
],
options={
},
bases=(models.Model,),
),
]
Migrate
$ ./manage.py migrate myapp
The Operations
• CreateModel
• DeleteModel
• AddField
• AlterField
• AlterModelTable
• RunSQL
• RunPython
CreateModel
migrations.CreateModel(
name='Person',
fields=[
('id', models.AutoField(verbose_name='ID',
serialize=False, auto_created=True,
primary_key=True)),
('full_name’,models.CharField(max_length=100)),
],
options={},
bases=(models.Model,),
)
AddField
dependencies = [
('people', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='person',
name='first_name',
field=models.CharField(default='',
max_length=50),
preserve_default=False,
),
RunPython
def split_names(apps, schema_editor):
Person = apps.get_model('people.Person')
for person in Person.objects.all():
full_name = person.full_name.split(' ')
person.first_name = full_name[0:-1]
person.last_name = last_name[-1]
person.save()
migrations.RunPython(
split_names,
merge_names
)
RemoveField
dependencies = [
('people', '0003_split_full_name'),
]
operations = [
migrations.RemoveField(
model_name='person',
name='full_name',
),
]
DJANGO 1.8
luego, muy luego...
Postgres Specific
ArrayField
class ChessBoard(models.Model):
board = ArrayField(
ArrayField(
models.CharField(max_length=10, blank=True),
size=8,
),
size=8,
)
HStoreField
class Dog(models.Model):
name = models.CharField(max_length=200)
data = HStoreField()
>>> Dog.objects.create(name='Rufus',
data={'breed': 'labrador'})
>>> Dog.objects.filter(
data__breed='labrador')
RangeField
class Event(models.Model):
name = models.CharField(max_length=200)
ages = IntegerRangeField()
>>> Event.objects.create(name='Soft play',
ages=(0, 10))
>>> Event.objects.create(name='Pub trip',
ages=(21, None))
>>> Event.objects.filter(
ages__contains=NumericRange(4, 5))
[<Event: Soft play>]
Unaccent!
User.objects.filter(
first_name__unaccent__startswith="Revolv")
Conditionals
Expressions
SQL Conditional Field
SELECT
”client"."name",
CASE
WHEN ”client"."account_type" = 'G’
THEN '5%'
WHEN ”client"."account_type" = 'P’
THEN '10%' ELSE '0%'
END AS "discount"
FROM
”client"
Case, When
>>> Client.objects.annotate(
... discount=Case(
... When(account_type=Client.GOLD,
... then=Value('5%')),
... When(account_type=Client.PLATINUM,
... then=Value('10%')),
... default=Value('0%'),
... output_field=CharField(),
... ),
... ).values_list('name', 'discount')
Conditional Update
for cl in Client.objects.all():
if cl.registered <= a_year_ago:
client.account_type = GOLD
elif cl.registerd <= a_month_ago:
client.account_type = PLATINUM
else:
client.account_type = REGULAR
client.save()
Conditional Update
Client.objects.update(
account_type=Case(
When(
registered_on__lte=a_year_ago,
then=Value(Client.PLATINUM)),
When(
registered_on__lte=a_month_ago,
then=Value(Client.GOLD)),
default=Value(Client.REGULAR)
),
)
Template Engines
TEMPLATES setting
TEMPLATES = [
{
'BACKEND':
'django.template.backends.django.DjangoTemplates',
#'django.template.backends.jinja2.Jinja2'
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {},
},
]
Multiple Template Engines
TEMPLATES = [
{
’NAME': 'django'
'BACKEND':
'django.template.backends.django.DjangoTemplates',
},
{
’NAME': ’jinja2'
'BACKEND':
'django.template.backends.jinja2.Jinja2',
},
]
My Custom Engine
MyEngine
class MyEngine(BaseEngine):
app_dirname = 'dummy'
def __init__(self, params):
...
def from_string(self, template_code):
...
def get_template(self, template_name):
...
Template Wrapper
class Template(object):
def __init__(self, template):
...
def render(self, context=None,
request=None):
...
Django Unchained
Pedro Burón
pedroburonv@gmail.com
http://github.com/pedroburon
GRACIAS!

Más contenido relacionado

La actualidad más candente

Rediscovering JavaScript: The Language Behind The Libraries
Rediscovering JavaScript: The Language Behind The LibrariesRediscovering JavaScript: The Language Behind The Libraries
Rediscovering JavaScript: The Language Behind The Libraries
Simon Willison
 
Jython: Python para la plataforma Java (JRSL 09)
Jython: Python para la plataforma Java (JRSL 09)Jython: Python para la plataforma Java (JRSL 09)
Jython: Python para la plataforma Java (JRSL 09)
Leonardo Soto
 
Jython: Python para la plataforma Java (EL2009)
Jython: Python para la plataforma Java (EL2009)Jython: Python para la plataforma Java (EL2009)
Jython: Python para la plataforma Java (EL2009)
Leonardo Soto
 
Django tutorial 2009
Django tutorial 2009Django tutorial 2009
Django tutorial 2009
Ferenc Szalai
 

La actualidad más candente (20)

Upgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.xUpgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.x
 
Bacbkone js
Bacbkone jsBacbkone js
Bacbkone js
 
Angular 2.0 Dependency injection
Angular 2.0 Dependency injectionAngular 2.0 Dependency injection
Angular 2.0 Dependency injection
 
Rediscovering JavaScript: The Language Behind The Libraries
Rediscovering JavaScript: The Language Behind The LibrariesRediscovering JavaScript: The Language Behind The Libraries
Rediscovering JavaScript: The Language Behind The Libraries
 
Jython: Python para la plataforma Java (JRSL 09)
Jython: Python para la plataforma Java (JRSL 09)Jython: Python para la plataforma Java (JRSL 09)
Jython: Python para la plataforma Java (JRSL 09)
 
Doctrine For Beginners
Doctrine For BeginnersDoctrine For Beginners
Doctrine For Beginners
 
Pruebas unitarias con django
Pruebas unitarias con djangoPruebas unitarias con django
Pruebas unitarias con django
 
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHP Yo...
 
Django Admin: Widgetry & Witchery
Django Admin: Widgetry & WitcheryDjango Admin: Widgetry & Witchery
Django Admin: Widgetry & Witchery
 
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonf
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonf“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonf
“Writing code that lasts” … or writing code you won’t hate tomorrow. - PHPKonf
 
Jython: Python para la plataforma Java (EL2009)
Jython: Python para la plataforma Java (EL2009)Jython: Python para la plataforma Java (EL2009)
Jython: Python para la plataforma Java (EL2009)
 
Smooth scrolling in UITableView and UICollectionView
Smooth scrolling in UITableView and UICollectionViewSmooth scrolling in UITableView and UICollectionView
Smooth scrolling in UITableView and UICollectionView
 
Crafting beautiful software
Crafting beautiful softwareCrafting beautiful software
Crafting beautiful software
 
Everything you always wanted to know about forms* *but were afraid to ask
Everything you always wanted to know about forms* *but were afraid to askEverything you always wanted to know about forms* *but were afraid to ask
Everything you always wanted to know about forms* *but were afraid to ask
 
Aplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneAplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com Backbone
 
Leveraging Symfony2 Forms
Leveraging Symfony2 FormsLeveraging Symfony2 Forms
Leveraging Symfony2 Forms
 
Crowdsourcing with Django
Crowdsourcing with DjangoCrowdsourcing with Django
Crowdsourcing with Django
 
Forms, Getting Your Money's Worth
Forms, Getting Your Money's WorthForms, Getting Your Money's Worth
Forms, Getting Your Money's Worth
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Django tutorial 2009
Django tutorial 2009Django tutorial 2009
Django tutorial 2009
 

Destacado

Esitys/presentation slideshare OpenOffice Impress saved as ppt
Esitys/presentation slideshare OpenOffice Impress saved as pptEsitys/presentation slideshare OpenOffice Impress saved as ppt
Esitys/presentation slideshare OpenOffice Impress saved as ppt
parusmajor
 
Frogs presentation 2015
Frogs presentation 2015Frogs presentation 2015
Frogs presentation 2015
TCU_SDS
 
Piers Culley - Resume
Piers Culley - ResumePiers Culley - Resume
Piers Culley - Resume
Piers Culley
 
dtc spring 15 newsletter
dtc spring 15 newsletterdtc spring 15 newsletter
dtc spring 15 newsletter
Chuck Bailey
 
Yoav Friedländer-AND
Yoav Friedländer-ANDYoav Friedländer-AND
Yoav Friedländer-AND
Yoav Friedl
 
Top 8 assistant marketing manager resume samples
Top 8 assistant marketing manager resume samplesTop 8 assistant marketing manager resume samples
Top 8 assistant marketing manager resume samples
delijom
 

Destacado (20)

Esitys/presentation slideshare OpenOffice Impress saved as ppt
Esitys/presentation slideshare OpenOffice Impress saved as pptEsitys/presentation slideshare OpenOffice Impress saved as ppt
Esitys/presentation slideshare OpenOffice Impress saved as ppt
 
Housing and Dining at TCU
Housing and Dining at TCUHousing and Dining at TCU
Housing and Dining at TCU
 
Amigocrafts
AmigocraftsAmigocrafts
Amigocrafts
 
Curruculum Vitae
Curruculum VitaeCurruculum Vitae
Curruculum Vitae
 
Frogs presentation 2015
Frogs presentation 2015Frogs presentation 2015
Frogs presentation 2015
 
Piers Culley - Resume
Piers Culley - ResumePiers Culley - Resume
Piers Culley - Resume
 
totem2
totem2totem2
totem2
 
dtc spring 15 newsletter
dtc spring 15 newsletterdtc spring 15 newsletter
dtc spring 15 newsletter
 
Apple Commemorates Mac’s 30th Anniversary With Movie Shot By iPhone
Apple Commemorates Mac’s 30th Anniversary With Movie Shot By iPhoneApple Commemorates Mac’s 30th Anniversary With Movie Shot By iPhone
Apple Commemorates Mac’s 30th Anniversary With Movie Shot By iPhone
 
Yoav Friedländer-AND
Yoav Friedländer-ANDYoav Friedländer-AND
Yoav Friedländer-AND
 
Music magazine Artist Profile
Music magazine Artist ProfileMusic magazine Artist Profile
Music magazine Artist Profile
 
Class eight bangladesh & global studies content 01
Class eight bangladesh & global studies content 01Class eight bangladesh & global studies content 01
Class eight bangladesh & global studies content 01
 
economic growth strategies
economic growth strategieseconomic growth strategies
economic growth strategies
 
Top 8 assistant marketing manager resume samples
Top 8 assistant marketing manager resume samplesTop 8 assistant marketing manager resume samples
Top 8 assistant marketing manager resume samples
 
Drive Dynamics - Best Cars for First Drive
Drive Dynamics - Best Cars for First DriveDrive Dynamics - Best Cars for First Drive
Drive Dynamics - Best Cars for First Drive
 
Banner_app_3
Banner_app_3Banner_app_3
Banner_app_3
 
MICHELLE_Halford_Cv
MICHELLE_Halford_CvMICHELLE_Halford_Cv
MICHELLE_Halford_Cv
 
MB.cv
MB.cvMB.cv
MB.cv
 
Class 8 english lesson 6
Class 8 english lesson 6Class 8 english lesson 6
Class 8 english lesson 6
 
Anchal CV
Anchal CVAnchal CV
Anchal CV
 

Similar a Lo nuevo de Django 1.7 y 1.8

Gae Meets Django
Gae Meets DjangoGae Meets Django
Gae Meets Django
fool2nd
 
前端MVC 豆瓣说
前端MVC 豆瓣说前端MVC 豆瓣说
前端MVC 豆瓣说
Ting Lv
 
Django Class-based views (Slovenian)
Django Class-based views (Slovenian)Django Class-based views (Slovenian)
Django Class-based views (Slovenian)
Luka Zakrajšek
 
MySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQLMySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQL
Ted Leung
 

Similar a Lo nuevo de Django 1.7 y 1.8 (20)

Gae Meets Django
Gae Meets DjangoGae Meets Django
Gae Meets Django
 
날로 먹는 Django admin 활용
날로 먹는 Django admin 활용날로 먹는 Django admin 활용
날로 먹는 Django admin 활용
 
Django
DjangoDjango
Django
 
Object.__class__.__dict__ - python object model and friends - with examples
Object.__class__.__dict__ - python object model and friends - with examplesObject.__class__.__dict__ - python object model and friends - with examples
Object.__class__.__dict__ - python object model and friends - with examples
 
Optimization in django orm
Optimization in django ormOptimization in django orm
Optimization in django orm
 
Modules and injector
Modules and injectorModules and injector
Modules and injector
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
Тестирование и Django
Тестирование и DjangoТестирование и Django
Тестирование и Django
 
PyCon India 2010 Building Scalable apps using appengine
PyCon India 2010 Building Scalable apps using appenginePyCon India 2010 Building Scalable apps using appengine
PyCon India 2010 Building Scalable apps using appengine
 
前端MVC 豆瓣说
前端MVC 豆瓣说前端MVC 豆瓣说
前端MVC 豆瓣说
 
Python Development (MongoSF)
Python Development (MongoSF)Python Development (MongoSF)
Python Development (MongoSF)
 
Django Class-based views (Slovenian)
Django Class-based views (Slovenian)Django Class-based views (Slovenian)
Django Class-based views (Slovenian)
 
Clean Javascript
Clean JavascriptClean Javascript
Clean Javascript
 
Django tricks (2)
Django tricks (2)Django tricks (2)
Django tricks (2)
 
Django Heresies
Django HeresiesDjango Heresies
Django Heresies
 
Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4
 
Django - sql alchemy - jquery
Django - sql alchemy - jqueryDjango - sql alchemy - jquery
Django - sql alchemy - jquery
 
Angular Workshop_Sarajevo2
Angular Workshop_Sarajevo2Angular Workshop_Sarajevo2
Angular Workshop_Sarajevo2
 
Scalable web application architecture
Scalable web application architectureScalable web application architecture
Scalable web application architecture
 
MySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQLMySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQL
 

Último

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Último (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 

Lo nuevo de Django 1.7 y 1.8