Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Tutorial de Django: Cómo iniciar una aplicación con Django

José Plana
  • Escrito por José Plana el 23 de Octubre de 2014
  • 3 min de lectura | Backend
Tutorial de Django: Cómo iniciar una aplicación con Django



Ver Indice Tutorial

Si aún no conoces Django , el framework de Python que nos permite crear aplicaciones web de forma rápida, no te puedes perder este tutorial en el que iremos creando un álbum de fotos , para ver de forma práctica los conceptos básicos. Como punto de inicio es una buena práctica trabajar sobre un entorno virtual, que nos permita tener instalaciones específicas del proyecto en el que estamos y para hacerlo vamos a usar virtualenvwrapper . Comprobamos que lo tenemos instalado. ( Aquí puedes ver como instalarlo)

openwebinars@~/aplicaciones: pip show virtualenvwrapper
---
Name: virtualenvwrapper
Version: 4.2
Location: /usr/local/lib/python2.7/dist-packages
Requires: virtualenv, virtualenv-clone, stevedore
openwebinars@~/aplicaciones:

Ahora podemos crear el entorno virtual en el que vamos a trabajar, que llamaremos tutorial

openwebinars@~/aplicaciones: mkvirtualenv tutorial
New python executable in tutorial/bin/python
Installing setuptools, pip...done.
(tutorial)openwebinars@~/aplicaciones:

Podemos ver que ahora tenemos delante del prompt el nombre de nuestro entorno entre paréntesis, esto nos indica que estamos dentro. Otros comandos útiles son: deactivate : Para salir del entorno. workon : Para ver los entornos disponibles. workon [entorno]: Para activar un entorno; workon tutorial en nuestro caso. rmvirtualenv [entorno]: Para borrar un entorno. ¡Recuerda! antes tienes que haber salido de él. Con nuestro entorno listo, podemos empezar a prepararlo, para ello vamos a instalar Django y, como nuestra aplicación va a trabajar con imágenes , también necesitamos Pillow .

(tutorial)openwebinars@~/aplicaciones: pip install Django==1.7, Pillow
Downloading/unpacking Django==1.7
Downloading Django-1.7-py2.py3-none-any.whl (7.4MB): 7.4MB downloaded
Downloading/unpacking Pillow
Downloading Pillow-2.6.1.tar.gz (7.3MB): 7.3MB downloaded
---
Successfully installed Django Pillow
Cleaning up...
(tutorial)openwebinars@~/aplicaciones:
(tutorial)openwebinars@~/aplicaciones: pip list
argparse (1.2.1)
Django (1.7)
ipython (2.3.0)
Pillow (2.6.1)
pip (1.5.6)
setuptools (3.6)
wsgiref (0.1.2)
(tutorial)openwebinars@~/aplicaciones:

Con el proceso de instalación terminado podemos crear nuestro proyecto que llamamos myapps , usa el comando:

(tutorial)openwebinars@~/aplicaciones: django-admin.py startproject myapps
(tutorial)openwebinars@~/aplicaciones:

Ya tenemos el proyecto creado y sobre este podremos ir añadiendo aplicaciones a parte de las que ya vienen con Django, pero esto lo veremos más adelante, antes vamos a ver qué aspecto tiene; El comando tree nos muestra la estructura .

(tutorial)openwebinars@~/aplicaciones: tree myapps
myapps
├── manage.py
└── myapps
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
1 directory, 5 files
(tutorial)openwebinars@~/aplicaciones:

En este primer post vamos a usar solo dos de estos ficheros, ./manage.py y ./myapps/settings.py . El primero nos va a permitir realizar acciones sobre el proyecto desde la línea de comandos, el segundo es el fichero de configuración propio del proyecto. En este punto ya podemos crear la aplicación, vamos al directorio ./myapps y ejecutamos el siguiente comando :

(tutorial)openwebinars@~/aplicaciones/myapps: python manage.py startapp album
(tutorial)openwebinars@~/aplicaciones/myapps:
(tutorial)openwebinars@~/aplicaciones/myapps: tree album
album
├── admin.py
├── __init__.py
├── migrations
│   └── __init__.py
├── models.py
├── tests.py
└── views.py
1 directory, 6 files
(tutorial)openwebinars@~/aplicaciones/myapps:

Aquí podemos ver como es el directorio de nuestra aplicación album. Vamos ahora al directorio ./myapps y editamos el fichero de configuración settings.py para añadir nuestra aplicación en la tupla INSTALLED_APPS; Debería tener este aspecto.

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'album',
)

Antes de guardar los cambios en el fichero de configuración, buscamos el diccionario DATABASES, en este tutorial usaremos SQLite , la base de datos que nos ofrece Django por defecto.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Y por último establecemos la zona horaria en la que nos encontramos, aquí puedes verlas todas, Europa/Madrid en nuestro caso.

TIME_ZONE = 'Europe/Madrid'

Ya podemos guardar los cambios en settings.py. Una de las aplicaciones que nos ofrece Django por defecto es un administrador desde el que podremos añadir o editar contenidos en nuestra aplicación, esto nos va a facilitar mucho las cosas. Para iniciarlo necesitamos crear las tablas necesarias y posteriormente podremos crear el usuario con el que tendremos acceso. Para el primer paso ejecutamos el siguiente comando.

(tutorial)openwebinars@~/aplicaciones/myapps: python manage.py migrate
Operations to perform:
  Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying sessions.0001_initial... OK
(tutorial)openwebinars@~/aplicaciones/myapps:

Con esto lo que hacemos es recorrer la lista de aplicaciones que tenemos en nuestro proyecto, en INSTALLED_APPS, dentro del fichero settings.py e ir creando las tablas necesarias en la base de datos. También podemos ver que se ha creado un fichero db.sqlite3 que será nuestra base de datos.

(tutorial)openwebinars@~/aplicaciones/myapps: ll -rt
total 56
-rwxrwxr-x 1 jose jose   249 oct 21 20:24 manage.py*
drwxrwxrwx 4 jose jose  4096 oct 22 19:43 ../
drwxrwxr-x 2 jose jose  4096 oct 22 20:22 myapps/
drwxrwxr-x 3 jose jose  4096 oct 22 20:22 album/
-rw-r--r-- 1 jose jose 36864 oct 22 20:22 db.sqlite3
drwxrwxr-x 4 jose jose  4096 oct 22 20:22 ./
(tutorial)openwebinars@~/aplicaciones/myapps:

Con la base de datos lista, vamos a crear el usuario .

(tutorial)openwebinars@~/aplicaciones/myapps: python manage.py createsuperuser
Username (leave blank to use 'administrador'): admin
Email address: admin@admin.com
Password: *****
Password (again): *****
Superuser created successfully.
(tutorial)openwebinars@~/aplicaciones/myapps:

Ya tenemos nuestro proyecto listo para empezar a desarrollar nuestra aplicación, para probarlo iniciamos el servidor de desarrollo.

(tutorial)openwebinars@~/aplicaciones/myapps: python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
October 22, 2014 - 20:32:42
Django version 1.7, using settings 'myapps.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

En un navegador buscamos la dirección http://127.0.0.1:8000/

Imagen 0 en Tutorial de Django: Cómo iniciar una aplicación con Django
Para visitar el administrador vamos a http://127.0.0.1:8000/admin/
Imagen 1 en Tutorial de Django: Cómo iniciar una aplicación con Django

En el siguiente post , veremos como crear el modelo de datos para nuestro álbum y cómo incluirlo en el administrador para poder gestionarlo. Como hemos visto, Django nos ofrece mucho trabajo hecho para que solo tengamos que pensar en nuestra aplicación.

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars