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)