django

django:

Proceso de creacion de la web: Fuente: [] Min 16:00 1. **Iniciar proyecto** django-admin startproject eztabai

2. **Manejar de librerias** sudo apt-get install python-pip

3. **Instalar driver para MySQL** apt-get install python-mysqldb

4. **Configurar la base de datos**. Modificar datos de settings.py. Por ejemplo:

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'eztabai', # Or path to database file if using sqlite3. 'USER': 'root', # Not used with sqlite3. 'PASSWORD': 'rooteando', # Not used with sqlite3. 'HOST': '127.0.0.1', # Set to empty string for localhost. Not used with sqlite3. 'PORT': '3306', # Set to empty string for default. Not used with sqlite3. } }

5. **Activar modulo de admin** descomentar en settinjgs.py esta linea django.contrib.admin

6. **Activar url para 'admin'** Descomentar en urls.py estas 3 lineas from django.contrib import admin admin.autodiscover url(r'^admin/', include(admin.site.urls)),


 * 7. Crear las tablas, modulos, rutas....** python manage.py syncdb

8. **Iniciar servidor** para probar que todo fue bien. python manage.py runserver el aweb esta en http://127.0.0.1:8000/

9. **Iniciar aplicación** django-admin startapp blog

10. **Modificar modelo de la app blog**: Añadir lo siguiente en blog/models.py:

class Post(models.Model): title = models.CharField(max_length=100) body = models.TextField created = models.DateTimeField

def __unicode__(self): return self.title

11. **Instalar python-taggit** para la gestion de la etiquetas: sudo pip install django-taggit

12. **Cargar taggit**.Añadir en blog/models.py lo siguiente:

from taggit.managers import TaggableManager class Post(models.Model): tags = TaggableManager

13. **Crear un fichero intermedio** en blog/admin.py from django .contrib import admin from blog.models import Post admin.site.register(Post)

14. **Carga las dos apps** INSTALLED_APPS = ( 'taggit', 'blog', )

15. **Recarga los modelos** python manage.py syncdb


 * . Pon en marcha el servidor python manage.py runserver


 * RELATIONS**

Many-to-one
hasOne ====  model has a  -- that is, a  makes multiple cars but each  only has one  --

Many-to-Many
hasMore/belowsTo ==== a  has multiple  objects -- that is, a  can be on multiple pizzas and each  has multiple toppings --

One-to-one

 * Field lokkup reference** [|htps://docs.djangoproject.com/en/1.4/ref/models/querysets/#field-lookups]