Acceder al sistema de administración

Creación de un proyecto en Django

Creación de un proyecto en Django

En esta primera entrada documentaré el procedimiento que sigo para crear un proyecto de Django bajo el sistema operativo Windows 7.
 
Los requisitos previos para poder seguir este docuemnto son:
 
    - Windows 7
    - Tener instaldo Django 1.5
 
Los puntos que trataremos en este documento son: 
    - Creamos el Proyecto.
    - Configuraremos el archivo settings.py 
    - Configuraremos el archivo urls.py
    - Sincronizaremos la Base de Datos con syncdb
    - Arrancaremos el Servidor que trae Django por defecto con runserver
 
Para crear nuestro proyecto en Django lo primero que tenemos que hacer es abrir la consola de comandos CMD.
 
En este ejemplo estoy utilizando el Sistema Operativo Windows7 por lo que nos dirigeremos a:
 
    - El botón de Inicio de Windows en la barra de estado.
    - Escribiremos cmd.exe en el cuadro de texto de búsqueda.
    - Haremos doble click en el icono de acceso al cmd.
 
En este último punto podemos hacer botón derecho sobre el icono de acceso y ejecutarlo como Administradores del Sistema.
 
                                     Blog - Rubén Arranz || Django || Acceso a la consola de comando desde Win7 
 

Creamos el Proyecto.


Una vez dentro de la consola tenemos que dirigirnos al directorio en donde queramos crear nuestro proyecto de Django y ejecutar el siguiente comando:
 

  1. django-admin.py startproject tupresenciaonline


Dentro del comando, el literal: tupresenciaonline es el nombre que le hemos dado al proyecto.
 
Como se puede observar se ha creado un nuevo directorio con el nombre que le dimos al proyecto y dentro de este se han generado los siguientes ficheros:
 

  1.  Directorio de H:\Deploy\tupresenciaonline

  2.  

  3. 21/10/2013   19:50   <DIR>    .

  4. 21/10/2013   19:50   <DIR>    ..

  5. 21/10/2013   19:50   270    manage.py

  6. 21/10/2013   19:50   <DIR>    tupresenciaonline

  7.                        1 archivos      270 bytes

  8.                        3 dirs    723.293.917.184 bytes libres


El fichero manage.py es el encargado de ejecutar nuestros ficheros Python.
 
Y si accedemos al directorio tupresenciaonline nos encontraremos con lo siguiente.
 

  1. (Deploy) H:\Deploy\tupresenciaonline>cd tupresenciaonline


  2. (Deploy) H:\Deploy\tupresenciaonline\tupresenciaonline>dir

  3. El volumen de la unidad H es Datos

  4. El número de serie del volumen es: 6A9C-8CC5


  5.  Directorio de H:\Deploy\tupresenciaonline\tupresenciaonline


  6. 31/10/2013   15:18    <DIR>    .

  7. 31/10/2013   15:18    <DIR>    ..

  8. 31/10/2013   15:14    6.017    settings.py

  9. 31/10/2013   15:16       632    urls.py

  10. 21/10/2013   18:55    1.484    wsgi.py

  11. 21/10/2013   18:55          0    __init__.py

  12.                           8 archivos    13.497 bytes

  13.                           2 dirs    723.293.917.184 bytes libres


Haré una pequeña referencia al uso de cada fichero, pero no os preocupéis porque entenderéis perfectamente el uso de los mismos a medida que avancemos con esta documentación.
 
    - settings.py : archivo de configuración principal del proyecto
    - urls.py : archivo donde configuraremos las urls del proyecto.
    - wsgi.py : archivo que sirve de conector con el servidor.
    - __init__ : archivo que le dice a Python que el directorio donde se encuentra es un Paquete.
 
Bien, ahora nos dirigiremos al fichero settings.py para comenzar con las primeras configuraciones del proyecto.
 
Este fichero es de suma importancia y debemos ser capaces de manejarnos por él, ya que es el archivo principal de configuración del proyecto.
 
Vamos a verlo más detenidamente.
 
 

Configuración del archivo settings.py


Utilizaremos un editor de texto para llevar a cabo las modificaciones en nuestros nuevos ficheros. Yo estoy utilizando SublimeText2 pero se puede utilizar cualquier otro. Lo importante en este punto es que cada uno se encuentre cómodo trabajando con sus herramientas.
 
Para comenzar podemos configurar la ruta a nuestro proyecto y para esto, necesitamos importar las siguientes librerías de Django, os, sys, path y pardir
 

  1. from os import path, pardir

  2. import os, sys


Y para declarar la ruta al proyecto escribiremos lo siguiente.
 

  1. RUTA_PROYECTO = os.path.dirname(os.path.realpath(__file__))


Con esto lo que le estamos diciendo a Django es que tome el directorio en donde esta alojado el fichero settings.py como raiz del proyecto.
 
Es importante que declaremos en el settings que el proyecto se encuentra en Desarrollo y para ello declararemos las siguientes variable de este modo.
 

  1. DEBUG = True

  2. TEMPLATE_DEBUG = DEBUG


Ahora configuraremos la Base de Datos a utilizar en el proyecto.
 
Para este ejemplo voy a utilizar sqlite3 que ya viene por defecto con Django y para un uso en entornos de desarrollo ya nos es más que suficiente.
 
Tenemos que tener muy presente que este tipo de Bases de Datos no son para nada aconsejables para un uso en entornos de Producción, ya que a nivel de Seguridad es prácticamente nula.
 
Busquemos la variable DATABASES y en ella modificaremos ENGINE y NAME
 

  1. DATABASES = {

  2.     'default': {

  3.         'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.

  4.         'NAME': path.join(RUTA_PROYECTO, pardir, 'db/tupresenciaonline.db'), # Or path to database file if using sqlite3.

  5.         'USER': '', # Not used with sqlite3.

  6.         'PASSWORD': '', # Not used with sqlite3.

  7.         'HOST': '', # Set to empty string for localhost. Not used with sqlite3.

  8.         'PORT': '', # Set to empty string for default. Not used with sqlite3.

  9.     }

  10. }


¿Que hemos echo aquí?
 
    - En ENGINE hemos añadido al final de la cadena, sqlite3.
    - Y en NAME estamos declarando la ruta en donde alojaremos la Base de datos.
 
Si nos fijamos en esta última línea, hemos utilizado pardir, que sirve para subir un directorio dentro de RUTA_PROYECTO, por lo que Django buscará nuestra Base de Datos en  (Deploy) H:\Deploy\tupresenciaonline\db\tupresenciaonline.db>
 
Así que lo primero que haremos es crear el directorio db dentro de  (Deploy) H:\Deploy\tupresenciaonline\
 
Configuraremos también la Zona Horaria y el Idioma por defecto.
 
Yo me ubico en Europa/Andorra y utilizo el idioma Español.
 

  1. TIME_ZONE = 'Europe/Andorra'

  2. LANGUAGE_CODE = 'es-Es' 


Ahora toca configurar la ruta hacia nuestros archivos del tipo MEDIA y su URL correspondiente.
 

  1. MEDIA_ROOT = os.path.join(RUTA_PROYECTO, pardir, 'adjuntos')

  2. MEDIA_URL = '/adjuntos/' 


Igual que antes, creamos el directorio adjuntos dentro de  (Deploy) H:\Deploy\tupresenciaonline\
 
Lo mismo haremos para nuestros archivos estáticos, declararemos la URL y el Directorio en donde se encontrarán.
 

  1. STATIC_URL = '/static/'

  2. STATICFILES_DIRS = (

  3.     # Put strings here, like "/home/html/static" or "C:/www/django/static".

  4.     # Always use forward slashes, even on Windows.

  5.     # Don't forget to use absolute paths, not relative paths.

  6.     os.path.join(RUTA_PROYECTO, pardir, 'static'),



Igual, creamos el directorio static dentro de  (Deploy) H:\Deploy\tupresenciaonline\
 
Y nos falta decirle a Django donde encontrar nuestras Plantillas o Templates.
 

  1. TEMPLATE_DIRS = (

  2.     # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".

  3.     # Always use forward slashes, even on Windows.

  4.     # Don't forget to use absolute paths, not relative paths.

  5.  os.path.join(RUTA_PROYECTO, pardir, 'plantillas'),



Igual, creamos el directorio plantillas dentro de  (Deploy) H:\Deploy\tupresenciaonline\
 
Entonces, nuestro nuevo árbol de directorios para el proyecto nos quedará así.
 

  1.  Directorio de H:\Deploy\tupresenciaonline

  2.  

  3. 21/10/2013   19:50   <DIR>    .

  4. 21/10/2013   19:50   <DIR>    ..

  5. 21/10/2013   19:50   270    manage.py

  6. 21/10/2013   19:50   <DIR>    db

  7. 21/10/2013   19:50   <DIR>    plantillas

  8. 21/10/2013   19:50   <DIR>    static

  9. 21/10/2013   19:50   <DIR>    tupresenciaonline

  10.                        1 archivos      270 bytes

  11.                        6 dirs    723.293.917.184 bytes libres


Por último y no menos importante es declarar las aplicaciones que queremos instalar en nuestro proyecto.
 
Para esto, dentro del settings.py encontraremos la variable INSTALLED_APPS la cual la dejaremos así.
 

  1. INSTALLED_APPS = (

  2.     'django.contrib.auth',

  3.     'django.contrib.contenttypes',

  4.     'django.contrib.sessions',

  5.     'django.contrib.sites',

  6.     'django.contrib.messages',

  7.     'django.contrib.staticfiles',

  8.     # Uncomment the next line to enable the admin:

  9.     'django.contrib.admin',

  10.     'django.contrib.flatpages',

  11.     # Uncomment the next line to enable admin documentation:

  12.     'django.contrib.admindocs',

  13.     'tupresenciaonline',



Si nos fijamos en esta variable, vemos que se instalarán por defecto las apps, auth, contentttypes, sessions, sites, messages, staticfiles, flatpages y si las descomentamos se instalarán admin y admindocs y por su puesto nuestra nueva aplicación tupresenciaonline.
 
Para más referencia del uso de estas apps os podeís dirigir a la Documentación oficial de Django.
 
Si en nuestro proyecto queremos disfrutar de una zona de Administración, tenemos que descomentar la línea nº. 9 y si además queremos que esta Administración contenga la Documentación oficial de Dajngo, se ha de descomentar la línea nº. 12
 
El código completo que hemos modificado en el settings.py quedaría de la siguiente manera.
 

Configuración del archivo urls.py


Ahora nos dirigiremos al archivo urls.py y lo abrimos con el editor de texto para dejarlo igual que el siguiente.
 

Tan solo hay que descomentar las líneas que nos sugiere Django y grabar Wink.
 
Y ya tendremos las urls configuradas para poder acceder tanto al Panel de Administración  como a su documentación.
 

Sincronización de la Base de Datos.


Nos dirigimos a la consola de comandos y ejecutamos el siguiente comando dentro del directorio (Deploy) H:\Deploy\tupresenciaonline\ ya que es aquí donde se encuentra el archivo manage.py
 

  1. manage.py syncdb


Con esto lo que conseguiremos es que se cree la Base de Datos, ya que es la primera vez que ejecutamos syncdb dentro de nuestro proyecto.
 
Blog - Rubén Arranz || Django || Tablas creadas con syncdb
 
Como veis se han creado una serie de tablas en nuestra Base de Datos y estas tablas coinciden con las INSTALLED_APPS que anteriormente configuramos en el settings.py
 
Al ser la primera vez que ejecutamos la sincronización de la Base de Datos, Django, nos pide un SuperUsuario, le decimos que SI, luego nos pide un Username, un Email address y un Password. Introducimos esta información y Django se encarga de terminar el proceso de creacion y sincronización de nuestra Base de Datos.
 
Blog - Rubén Arranz || Django || Superusuario
 

Arrancando el Servidor.


Llegados a este punto, tan solo nos falta arrancar el servidor con el comando runserver y comprobar que podamos acceder al Panel de Administración de Django sin problemas. Con lo que concluiremos esta 1ª Fase de instalación y configuración de nuestro proyecto.
 

  1. manage.py runserver


 Blog - Rubén Arranz || Django || Arrancando el servidor Django
 
Tras ejecutar el servidor, Django nos ofrece información sobre Errores, Fecha, Hora, Versión Django, Ruta del settings.py y la url a la que nos tenemos que dirigir en el navegador Web para visualizar nuestra nueva aplicación Django.
 
Dicha ruta es http://127.0.0.1:8000 pero nosotros no la hemos habilitado aún en el fichero urls.py, recordad que solo activamos las urls del admin y del admindocs.
 
Por lo que la dirección que usaremos en este caso será http://127.0.0.1:8000/admin
 
Al seguir la url veremos como Django nos solicita nuestras credenciales para acceder al Panel. Las ingresamos y ya estamos dentro...
 
Blog - Rubén Arranz || Django || Panel de administración Django
 
Para complementar este documento podéis visitar el siguiente video 'Creación de un proyecto en Django'
 
Ahora podríamos mejorar los estilos CSS del admin de Django implementando Twitter Bootstrap a nuestro proyecto.
 
Si tenéis curiosidad de como hacerlo, no os perdáis la entrada 'Instalar Bootstrap en Django'


Creado por el día 30 de Octubre de 2013


Volver




blog comments powered by Disqus

Propiedades de la entrada

Título: Creación de un proyecto en Django

Categoria: Django

Etiquetas: Bootstrap_Admin Debug_Toolbar Django Formación

Comentarios: Ver Comentarios

Comparte esta entrada: