Curso Python. Volumen XIX: Framework Django. Parte XVI

Bienvenidos un día más al curso de Python. En este capítulo vamos a enseñaros cómo podemos hacer que la aplicación que hemos creado con el framework Django sea reutilizable, es decir, cómo la podemos convertir en un paquete “Standalone” de Python, de modo que podamos utilizarla en otros proyectos. Así que pongámonos manos a la obra.

La reutilización es importante

¿Por qué es importante la reutilización? Es importante ya que después de haber invertido mucho trabajo en diseñar, construir, probar y mantener una aplicación web, os daréis cuenta que muchos de los problemas que habéis tenido, existen en más de un proyecto que hagáis. Por lo que, si lo pensáis bien, os podréis ahorrar mucho trabajo si reutilizáis las soluciones que ya habéis implementado.

La reutilización es el estilo de vida en Python. “The Python Package Index (PyPI)” tiene un amplio abanico de paquetes que uno puede usar en sus propios programas Python. También vale la pena que miréis “Django Packages para aplicaciones reutilizables que se pueden incorporar en nuestros proyectos. El propio framework “Django” es también un paquete Python. Esto significa que uno puede partir de paquetes Python o de aplicaciones “Django” existentes y componerlos en un proyecto web propio. Solamente es necesario escribir las partes que hacen nuestro proyecto único.

Por ejemplo, queremos comenzar un nuevo proyecto que necesita una aplicación de encuestas como la que hemos estado desarrollando. ¿Cómo hacemos que sea reutilizable? Afortunadamente, estamos en el buen camino. A lo largo del tutorial hemos visto como podríamos quitar del “configurador de URL” nuestra aplicación a nivel de proyecto utilizando “include”. En este capítulo vamos a dar un paso más para lograr que nuestra aplicación sea fácil de usar en nuevos proyectos, y quede lista para publicarla y que otros puedan instalarla y usarla.

¿Paquete o App?

Un paquete Python provee una manera de agrupar código Python relacionado para facilitar su reutilización. Un paquete contiene uno o más archivos de código Python (también conocidos como “módulos”).

Un paquete se puede importar con “import foo.bar” o “from foo import bar”. Para que un directorio (como “polls”) sea un paquete, debe contener un archivo especial, “__init__.py”, que incluso puede estar vacío.

Una aplicación “Django” es sólo un paquete Python que está pensado específicamente para usarse en un proyecto “Django”. Más adelante hablaremos del término empaquetar para describir el proceso de hacer que un paquete Python sea fácil de instalar para otros. Puede resultar algo confuso el proceso, pero intentaremos explicarlo lo mejor posible.

Nuestro proyecto y nuestra aplicación reutilizable

Después de los capítulos anteriores, nuestro proyecto debería verse así:

mysite/ 
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
polls/
__init__.py
admin.py
migrations/
__init__.py
0001_initial.py
models.py
static/
polls/
images/
background.gif
style.css
templates/
polls/
detail.html
index.html
results.html
tests.py
urls.py
views.py
templates/
admin/
base_site.html

Como recordaréis, en los capítulos anteriores creamos “mysite/templates” y “polls/templates”. Ahora quizás está más claro por qué elegimos tener directorios separados de plantillas para el proyecto y la aplicación: todo lo que es parte de la aplicación “polls” está en “polls”. Esto permite que la aplicación esté auto-contenida y sea más fácil reutilizarla en otro proyecto.

Ahora el directorio “polls” podría copiarse en un nuevo proyecto “Django” y ser reutilizado inmediatamente. Todavía no está listo para publicarse, sin embargo, para ello necesitamos empaquetar la aplicación y hacer fácil su instalación para otros, esto os lo mostraremos en el próximo capítulo.

Aquí lo dejamos por hoy, os invitamos como siempre a que sigáis explorando este framework y probando. Y para todos los que se acaban de incorporar indicarles que tenemos un índice con todos los capítulos del curso, ya que nunca es tarde para empezar.



Via: www.redeszone.net
Curso Python. Volumen XIX: Framework Django. Parte XVI Curso Python. Volumen XIX: Framework Django. Parte XVI Reviewed by Zion3R on 13:13 Rating: 5