Wiki

Clone wiki

Django Plug Modules / configurando

Configurando el proyecto

Usted puede utilizar la aplicación django-plug-modules realizando los siguientes pasos:

  • Descomprimir el fichero recién descargado
  • Crear un proyecto de Django

$ django-admin.py startproject proyecto_prueba

  • Realizar una copia de django_plug_modules a el proyecto recién creado

$ cp -r repos10-r-270889-db44964560cd/django_plug_modules proyecto_prueba/

  • Entrar al proyecto creado

$ cd proyecto_prueba

  • Editar el fichero settings.py y agregar django_plug_modules a la variable INSTALLED_APPS, debe quedar así:
INSTALLED_APPS = (
   'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    # Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    'django_plug_modules',
)

Crear módulos

Tal como existen comandos para crear un proyecto startproject o para crear aplicaciones startapp, el comando para crear un nuevo módulo es startmodule <nombre_del_modulo>, el mismo creará la estructura necesaria para un nuevo módulo dentro del proyecto.

Supongamos que queremos crear un módulo llamado contabilidad, lo haremos así:

$ python manage.py startmodule contabilidad

Por ser el primer módulo en el sistema, el comando startmodule ha creado un directorio dentro de su proyecto proyecto_prueba llamado modules, allí estarán todos los módulos del sistema, incluyendo el módulo contabilidad recién creado.

Estructura de los módulos

De forma similar a cuando se crea una aplicación de Django con el comando startapp, el comando startmodules crea la siguiente estructura de ficheros y directorios dentro del proyecto proyecto_prueba:

  • modules/
    • contabilidad/ directorio para el módulo contabilidad
      • __init__.py fichero que indica al interprete python que este directorio se manejara como un paquete
      • views.py fichero Django
      • models.py fichero Django
      • admin.py fichero Django
      • forms.py fichero Django
      • urls.py fichero Django
      • config.yaml fichero de configuración del módulo contabilidad/
      • locale/ directorio que contiene las traducciones de aplicación Django/
      • media/ directorio para ficheros estáticos del módulo contabilidad
        • css/ directorio contenedor de los ficheros de tipo css del módulo contabilidad
        • images/ directorio contenedor de los ficheros de tipo imágenes del módulo contabilidad
        • js/ directorio contenedor de los ficheros de tipo javascript del módulo contabilidad
      • templates/ directorio contenedor de los templates del módulo contabilidad

Ejecutando el proyecto

Tal cual como ejecutar en modo de desarrollo un proyecto en django, lo haremos con nuestro proyecto.

$ python manage.py runserver

Validating models...
0 errors found

Django version 1.2.5, using settings 'proyecto_prueba.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Una vista en el Browser a la URL http://localhost:8000 :

http://localhost:8000

Se puede observar que ya existen algunas url's creadas de forma automática como la 1. ^django_plug_modules/info/$ que es la que provee información acerca de los módulos instalados y relación entre ellos.

Una vista en el Browser a la URL http://localhost:8000/django_plug_modules/info/ mostrara que solo existe un módulo llamado contabilidad.

http://localhost:8000/django_plug_modules/info/

Diagrama de módulos

Diagrama de módulos

Entre otras url's creadas de forma automática, se creara una url para cada módulo, específicamente con el nombre asignado, en el caso del módulo contabilidad es la 4. ^contabilidad/

Una vista en el Browser a la URL http://localhost:8000/contabilidad/

http://localhost:8000/contabilidad/

Dando funcionalidad a un módulo

Para programar los módulos debemos seguir todas las convenciones y sintaxis de Django, por ejemplo si queremos crear una url llamada hola_mundo en el módulo de contabilidad enlazada con una función de vista llamada hola que retorna el texto Hola Mundo! - Módulo de Contabilidad deberíamos hacer lo siguiente:

  • Entrar al directorio /modulos/contabilidad/
  • Editar el fichero urls.py que debe quedar así:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
                      (r'hola_mundo/$', 'contabilidad.views.hola'),
                      )
  • Editar el fichero views.py que debe quedar así:
# -*- coding: utf-8 -*-
from django.http import HttpResponse

def hola(request):
    return HttpResponse('Hola Mundo! - Módulo de Contabilidad')

http://localhost:8000/contabilidad/hola_mundo/

Updated