domingo, 1 de abril de 2012

Mi primer proyecto en django 2da. Parte

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 




2 comentarios:

  1. #! /usr/bin/python
    # -*- coding: UTF-8-*-

    # +-----------------------------------------------------------------------------+
    # | |
    # | Nombre archivo: views.py |
    # | Autor: Carlos Jord?n Murillo |
    # | |
    # | Descripci?n: |
    # | Sirve para poder validar y verificar cuando un usuario intenta ingresar |
    # | en los templates. |
    # | |
    # +-----------------------------------------------------------------------------+

    from django.template import RequestContext
    from django.shortcuts import render_to_response
    from django.http import *
    from random import choice
    from string import letters
    from django.contrib.auth.models import User
    from django.views.decorators.csrf import csrf_exempt
    from django.contrib.auth import authenticate
    from django.core.mail import send_mail
    from datetime import *
    from django.http import *
    from django import forms

    from correo.CorreoElectronico import ContenidoMensaje, EmailHoteleria

    import time
    import datetime


    from django import forms

    ResponderEliminar
    Respuestas
    1. saludos crees que me puesdas ayudar con el def save en django que tengo problemas

      Eliminar