Ahora nuestro objetivo es desarrollar nuestro nuevo modelo totalmente diferente al que viene por defecto en django, ya que ofrece una gama de posibilidades para desarrollar fácilmente como por ejemplo:
En la primera parte de este capitulo desarrollamos una administración en la cual nos permitía crea un usuario, contraseña; básicamente un módulo de usuarios, ahora vamos a interactuar con el admin del framework y crearemos
Accedamos a la carpeta de nuestro proyecto mediante la siguiente línea de comando:
cd ~/django_projects/campeonato_nacional_futbol
python manage.py startapp equipos
Al escribir estas líneas de código el framework creó en tu proyecto una carpeta que se llama equipos, la cual contiene los siguientes archivos:
- __init__.py
- models.py
- test.py
- views.py
Ahora nos concentraremos en el archivo models.py
#! /usr/bin/python
# -*- coding: UTF-8 -*-
from django.db import models
from datetime import datetime
# Create your models here.
# Create your models here.
class EquipoFutbol(models.Model):
id = models.AutoField(primary_key=True)
nombre = models.CharField(max_length=140)
presidente = models.CharField(max_length=140)
direccion = models.CharField(max_length=100)
logo = models.ImageField(upload_to ="./", blank=True )
def __unicode__(self):
return self.nombre
def logo_equipo(self):
return "<img src='/static/uploads/"+ str(self.logo)+"' width='40px' />"
#permite que el imprimir código html en la administración
logo_equipo.allow_tags = True
Definimos nuestro modelo ahora tenemos que ir al archivo settings.py de nuestro proyecto para poder agregar nuestra nueva aplicación y agregarla en:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
"equipos",
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)
Después de haber agregado a "equipos" tenemos que sincronizar en nuestra base de datos con la siguiente línea de comando
python manager.py syncdb
El framework como salida muestra:
Creating tables ...
Creating table equipos_equipofutbol
Installing custom SQL ...
Installing indexes ...
No fixtures found.
Ahora dentro de la carpeta de equipos que es la nueva aplicación que creamos debemos de crear un archivo cuyo nombre será equipo/admin.py deberás incluir las siguientes líneas:
#! /usr/bin/python
# -*- coding: ISO-8859-1 -*-
from django.contrib import admin
from campeonato_nacional_futbol.equipos.models import *
from django.contrib import messages
class AdminEquipos(admin.ModelAdmin):
list_display = ("logo_equipo", "nombre", "presidente", "direccion")
admin.site.register(EquipoFutbol, AdminEquipos)
Ejecutamos el servidor de nuestro proyecto con la siguiente línea de comando
python manager.py runserver 8081
Reglas de validación
Automáticamente realiza las validaciones.
Ingresamos una imagen con su respectivo equipo
En la siguiente parte mostraremos relaciones entre tablas de muchos a muchos o de uno a muchos
Cualquier pregunta a.
@calujord
Twitter