Hoy en día, WordPress es el CMS más conocido en la web. Para crear y administrar contenido estático sin una lógica compleja, es un buen punto de partida. El problema es cuando necesita comenzar a administrar usuarios, datos personalizados y relacionarlos a través de cierto grado de complejidad; WordPress no es la herramienta para hacerlo de la mejor manera.

Cuando aparece Django, es un marco increíble para crear y personalizar su sitio web de acuerdo con sus necesidades sin casi ninguna limitación, utilizando las miles de bibliotecas de Django disponibles en la web. El problema es que Django no está diseñado para ser un CMS, por lo que si lo necesita como tal, podría ser más difícil de implementar que simplemente usar WordPress. Hay algunas bibliotecas de Django que permiten usar WordPress de Django, pero son difíciles de integrar y las aplicaciones resultantes son difíciles de mantener. El otro problema es que muchos sitios web ya están implementados en WordPress, por lo que podría ser traumático migrarlo a una aplicación Django.

Para hacer las cosas más fáciles, lo introduciré a la librería Django WordPress Api, DWA a sus amigos. Toma ventaja de WP REST API v1 para conectar en una manera fácil a WordPress blog con su aplicación Django; permitiéndole personalizar su app Django sin renunciar a las herramientas que WordPress ofrece com CMS. De hecho la página de blog de Swapps ha sido creada en Django, pero este post ha sido creado en WordPress y ha sido desplegado aquí usando esta librería.

Cómo usar DWA

Iniciemos con la configuración. La primera cosa es que necesita instalar WP REST API v1 plugin adentro de su sitio WordPress y habilítelo.
Luego requiere instalar Django WordPress Api library dentro de su aplicación django.

pip install django-wordpress-api

Después de eso, agregue wordpress_api dentro de las aplicaciones instaladas

INSTALLED_APPS += ('wordpress_api',)

Además, si está utilizando vistas DWA (explicadas más adelante) debe agregar las URL de las API de WordPress en las URL de su aplicación

url(r'^blog/', include('wordpress_api.urls')),

Finalmente, debe configurar los ajustes requeridos por DWA; WP_URL y BLOG_POSTS_PER_PAGE.

WP_URL = https://your-wordpress-app.com/
BLOG_POSTS_PER_PAGE = number-of-blogs-to-display-per-page

y eso es todo.

LEER
Pycon Colombia: El Primer encuentro de desarrolladores Python en Colombia

DWA tiene dos formas de ser usado, usando sus vistas o usando su cliente. Las vistas permiten recuperar y mostrar el blog, recuperar detalles de publicaciones, recuperar publicaciones por etiquetas o por categorías y buscar por palabras clave; lo mismo que en un simple blog de WordPress. Estas vistas solo le permitirán mostrar un blog básico, como el que está leyendo en este momento. Puede ver más información al respecto dentro de la documentación.

Por otro lado, si necesita algo más complejo, puede usar el cliente wordpress_api. Le permite recuperar otros tipos de publicación, más allá del tipo de “publicación”, ordenarlos por otro campo más que “fecha” y utilizar todos los filtros que permite WP API v1. Esto podría darle más control y personalización dentro de su blog de Django si su aplicación lo requiere. Este proceso es muy simple, el cliente wordpress_api se basa en un solo método principal: get_posts. Solo necesita proporcionar este método con sus requisitos y está listo para comenzar. Por ejemplo, la siguiente llamada al método devolverá todas las publicaciones de tipo ‘análisis’ escritas por mí que están en la segunda página, ordenadas por título; considerando cada página con el número de blogs por página definidos en la configuración.

wp_posts = get_posts(wp_filter={'author': 'jariza'},
                     page_number=2, orderby='title',
                     custom_type='analysis')

En conclusión, Django WordPress Api le permite integrar su blog de WordPress con su aplicación Django usando la forma más transparente: una API. De esta forma, podrá aprovechar todo el potencial de CMS que proporciona WordPress y toda la customización, personalización y simplicidad que hacen de Django uno de los mejores frameworks web que existen.

LEER
Desarrollo de temas Drupal

La única desventaja es que necesitas tener dos aplicaciones activas: la de WordPress y la de Django. Para las aplicaciones de WordPress ya existentes, no hay ningún problema en absoluto; simplemente puede integrarlo con su sitio django. Por otro lado, si está comenzando desde cero, puede ser más difícil tener dos sitios vivos; pero es más fácil de implementar y administrar. Tenga en cuenta que su CMS estará aislado de su sitio real, por lo que no tendrá que preocuparse por errores o comportamientos incorrectos producidos por las dependencias de código.

Si necesita más información, siempre puede leer la  documentación Django WordPress Api directamente.


Comentarios