Ingresar:

Sergio Hinojosa

Breve descripción

walking on rails listening Django and thinking "why Grails it is diferent against rails"

Ciudad

cochabamba

Perfil completo

Ver perfil completo

Dirección web oficial

http://www.qosoftware.com

Dirección web personal

http://sergiohinojosa.wordpress.com

Empresa / Institución

qoSoftware

Habilidades principales

una accion vale mas que mil palabras

Weblog

http://sergiohinojosa.wordpress.com/2008/12/23/el-tour-de-corey-tour-de-pro

Realmente fantastico, Corey Haines lleva adelante su tour denominado “Pair-Programming Tour 2008″, lleno de nuevas experiencias y donde hace prevalecer que la experiencia de trabajar en parejas te lleva a aprender y compartir mucho mas que del modo simple y solitario. Quien es Core Haynes? Corney Haines, paso el ultimo año casi exclusivamente desarrallonado con Ruby [...]

Palabras clave: grails, scaffold

Enviado por Sergio Hinojosa | 0 Comentario (s)

http://sergiohinojosa.wordpress.com/2008/12/15/hoy-es-el-ultimo-dia-de-pown

Goodbye Pownce, Hello Six Apart, es asi como titula el post que nos recuerda que hoy es el ultimo dia de esta gran aplicacion echa en django, y tal cual lo refleja su creadora leah, ahora junto a mike, seran parte del equipo de ingenieros de Six Apart. Esperemos que pronto tengan nuevas noticias [...]

Palabras clave: django, pownce

Enviado por Sergio Hinojosa | 2 Comentario (s)

Django viene con muchas aplicaciones reutilizables directamente añadidas al core o a la version de distribucion, entre una de ellas, de echo la mas utilizada, es la de administracion "django.contrib.admin".

El admin de django te permite tener una interfaz administrativa para tus modelos, el unico requisito es que las registres,a continuacion recrearemos una pequeña aplicacion un todo manager.

Para habilitar el admin, debemos añadirlo a nuestro settings.py

 INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin',
    'todomanager', # nuestra aplicacion que vamos a crear mas adelante
)

Sobre el proyecto hola mundo ahora crearemos una nueva aplicacion que se llame todomanager:

#./admin.py start-app todomanager

Django nos crea el models.py y views.py por defecto en el nuevo directorio de nuestra aplicacion que lleva el mismo nombre.

Abrimos el models.py y editamos creando nuestros modelos, nuestro models.py deberia quedar algo asi:

from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.models import User  #django nos provee otra aplicacion que maneja la autenticacion, de el usaremos el modelo User

from datetime import datetime

class Todo(models.Model):
    HIGH = 3
    MEDIUM = 2
    LOW = 1
    CHOICES_PRIORITY =(
        (HIGH, _('High')),
        (MEDIUM, _('Medium')),
        (LOW, _('Low'))
    )
    COMPLETED = 1
    TBD =2
    CHOICES_STATUS=(
        (COMPLETED, _('Completed')),
        (TBD, _('To be Done'))
    )
    owner = models.ForeignKey(User, related_name='owner_group', verbose_name=_('owner'))
    name = models.CharField(_('name'), max_length=32)
    created_date=models.DateTimeField(default=datetime.now)
    priority = models.IntegerField(_('priority'), choices=CHOICES_PRIORITY)
    status = models.IntegerField(_('status'), choices=CHOICES_STATUS)
    description = models.TextField(_('description'))
    due_date = models.DateField(_('due_date'),blank=True,null=True,)
    completed_date = models.DateField(_('completed_date'),blank=True,null=True)
    
    class Meta:
        ordering = ('created_date','priority')
        verbose_name = _('Todo')
        verbose_name_plural = _('Todo List')
        unique_together = ("owner", "name")
        get_latest_by = 'created_date'

    def __unicode__(self):
        return self.name

Para que nuestro modelo pueda ser tomado en cuenta por el admin de django debemos registrarlo, dentro de nuestra aplicacion creamos el archivo admin.py y lo minimo requerido para registrarlo seria tener lo siguiente en nuestro archivo:

from django.contrib import admin

from models import Todo

admin.site.register(Todo)  # aca registramosnuestro modelo

 Ahora nos toca generar la base de datos:

./admin.py syncdb

Como es la primera vez nos pedira registremos las credenciales de nuestro usuario administrador (dile yes :P).

Para habilitar completamente las interfaz administrativa debemos editar el urls.py de nuestro proyecto y tener algo como sigue:

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

admin.autodiscover()

urlpatterns = patterns('',
    (r'^admin/(.*)', admin.site.root),
)

Ahora podemos hacer correr nuestro proyecto con:

#./manage.py runserver 0.0.0.0:8000

Ahora nos vamos al browser y colocamos:

http://127.0.0.1:8000/admin

Usando las credenciales que registramos al realizar el sync de bd ingresamos al sitio de administracion de djano.

En un siguiente post veremos como poder hacer mas rica y como tambien veremos como se puede sobreescribir y darle mas funcionalidad a esta interfaz que nos provee django.

Sin duda esta caracteristica de django es la que atrae a muchos, ya que en la mayoria de las aplicaciones que realizamos siempr necesitamos tener esta interfaz administrativa, aunque existen muchas cosas que se estan mejorando aun, no cabe duda que el admin de django nos ahorrara mucho trabajo.

Palabras clave: admin, django

Enviado por Sergio Hinojosa | 0 Comentario (s)

Frameworks Agiles

El tour de Corey “Tour de Programacion en parejas”

Realmente fantastico, Corey Haines lleva adelante su tour denominado “Pair-Programming Tour 2008″, lleno de nuevas experiencias y donde hace prevalecer que la experiencia de trabajar en parejas te lleva a aprender y compartir mucho mas que del modo simple y solitario. Quien es Core Haynes? Corney Haines, paso el ultimo año casi exclusivamente desarrallonado con Ruby [...]

Hoy es el ultimo dia de Pownce

Goodbye Pownce, Hello Six Apart, es asi como titula el post que nos recuerda que hoy es el ultimo dia de esta gran aplicacion echa en django, y tal cual lo refleja su creadora leah, ahora junto a mike, seran parte del equipo de ingenieros de Six Apart. Esperemos que pronto tengan nuevas noticias [...]

Creando modelos y registrandolos en la interfaz de administracion en Django

Django viene con muchas aplicaciones reutilizables directamente añadidas al core o a la version de distribucion, entre una de ellas, de echo la mas utilizada, es la de administracion "django.contrib.admin".