Documente Academic
Documente Profesional
Documente Cultură
Python
Django
Django
Python
Django
Python
http://www.python.org
Django
http://www.djangoproject.com/
Bateras ya incluidas
URLs elegantes.
Bateras ya incluidas
Tambin:
django-admin.py
Comentarios
Seales (signals)
Sitios
Django
Mapeo de URLs
Django
django-admin starproject na
sqlite3, mysql, psql, oracle
Django
na.shop
editar el archivo na/shop/models.py
Sincronizar la BD:
./manage syncdb
Modelos
manage.py sql
manage.py syncdb
Modelos
class Producto(models.Model):
nombre = models.CharField(max_length=250)
publicado = models.DateTimeField(auto_now_add=True)
descripcion = models.TextField()
categorias = models.ManyToManyField(Categoria)
stock = models.IntegerField(default=0)
precio = models.IntegerField(default=0)
def __unicode__(self):
return self.nombre
Modelos
>>> p = Producto(nombre="Canoa QSL")
>>> p
<Producto: Canoa QSL>
>>> p.descripcion = "La mejor canoa!"
>>> p
<Producto: Canoa QSL>
>>> p.stock = 1
>>> p.precio = 10000
>>> p.save()
>>> p.categorias.all()
[]
>>> p.categorias.add(Categoria.objects.get(pk=1))
>>> p.save()
>>> p.categorias.all()
[<Categoria: Canoas Deportivas>]
Modelos
demo
mostrar sqlite
Admin
admin.site.register(Producto)
Admin
Personalizable
Admin
Plantillas
HTML
Plantillas
{% extends "base_generic.html" %}
{% block title %}{{ section.title }}{% endblock %}
{% block content %}
<h1>{{ section.title }}</h1>
{% for story in story_list %}
<h2>
<a href="{{ story.get_absolute_url }}">
{{ story.headline|upper }}
</a>
</h2>
<p>{{ story.tease|truncatewords:"100" }}</p>
{% endfor %}
{% endblock %}
Vistas
Vistas
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world)
Vistas
from django.shortcuts import render_to_response,
get_object_or_404
from na.shop.models import Producto
def detail(request, pid):
p = get_object_or_404(Producto, pk=pid)
return render_to_response('detail.html',
{'producto': p})
URLConf
URLConf
from django.conf.urls.defaults import *
# urls.py
urlpatters = patterns(
(r'^detail/(?P<pid>\d+)/$', 'na.shop.views.detail'),
(r'^buy/(?P<pid>\d+)/$', 'na.shop.views.buy'),
(r'^confirmbuy/$', 'na.shop.views.confirmbuy'),
)
URLConf
demo
mostrar las URLs
Django
Preguntas?
Versin en vivo del sitio en:
http://django.alejolp.com.ar