On Github carloshs92 / presentacion-django
Creado por Carlos Huamaní / @carlosHS92
Estos son los principales nombres convencionales para trabajar con django:
Herramienta para instalar paquetes de python
sudo yum install python-pip
Entorno virtual de python
sudo yum install python-virtualenv
mkdir miproyecto
cd miproyecto
virtualenv venv --distribute
> Installing Setuptools...........................................done. > Installing Pip.............................................done.
source venv/bin/activate
pip install django
pip freeze > requirements.txt
django-admin.py startproject misitio .
python manage.py syncdb
python manage.py startapp libreria
python manage.py runserver
#libreria/models.py
from django.db import models
class Autor(models.Model):
nombre = models.CharField(max_length=50)
descripcion = models.TextField(blank=True, null=True)
def __unicode__(self):
return self.nombre
class Categoria(models.Model):
nombre = models.CharField(max_length=50)
def __unicode__(self):
return self.nombre
class Libros(models.Model):
nombre = models.CharField(max_length=100)
paginas = models.IntegerField()
fec_publicacion = models.DateTimeField()
archivo = models.FileField(upload_to="libros/")
imagen = models.ImageField(upload_to="portadas/")
autor = models.ForeignKey(Autor)
categoria = models.ForeignKey(Categoria)
def __unicode__(self):
return self.nombre
Aqui puedes encontrar mas referencias de los campos
python manage.py syncdb python manage.py shell from libreria.models import Autor, Categoria, Libros Autor.objects.all() autor = Autor.objects.create(nombre='Monty Python', descripcion='Autor de libros de humor') categoria = Categoria.objects.create(nombre='Humor') from datetime import datetime libro = Libros.objects.create(nombre='La broma', paginas=300, fec_publicacion=datetime.today(), autor=autor, categoria=categoria) mislibros = Libros.objects.all() for libro in mislibros: print libro.nombre print libro.paginas for cat in ['Accion', 'Horror', 'Suspenso']: Categoria.objects.create(nombre=cat)
Aqui puedes encontrar mas querysets
#Excluir registros que comienzan con "H"
Categoria.objects.exclude(nombre__startswith="H")
#Registros que contienen la palabra "or"
Categoria.objects.filter(nombre__contains="or")
#¿Existe registros que contienen la palabra "ora"?
Categoria.objects.filter(nombre__contains="ora").exists()
#Cantidad de registros que contienen la palabra "or"
Categoria.objects.filter(nombre__contains="or").count()
#Orden de registros
Categoria.objects.all().order_by('nombre')
Categoria.objects.all().order_by('nombre').reverse()
Categoria.objects.all().order_by('-nombre')
#Seleccionar/Actualizar/Eliminar
Categoria.objects.get(pk=3)
Categoria.objects.filter(pk=3).update(nombre="Terror")
Categoria.objects.filter(pk=5).delete()
#misitio/urls.py admin.site.register(Autor) admin.site.register(Libros) admin.site.register(Categoria)