Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

DRF View for django CMS

Project Description

djangocms-rest-view

An application to load django CMS pages in a client application.

djangocms-rest-view uses Django REST framework to serve django CMS pages through a REST API

Editing must still be done the “traditional” way

Installation

  • pip install djangocms-rest-view

  • Edit INSTALLED_APPS:

    INSTALLED_APPS = [
        ...
        'rest_framework',
        'djangocms_rest_view',
        ...
    ]
    
  • Edit urls.py:

    urlpatterns = [
        ...
        url(r'^api/', include('djangocms_rest_view.urls')),
        ...
    ]
    
  • That’s all!

The REST view of the pages will be available at http://example.com/api/

Sample client

A sample Angular JS client is provided within the project.

To start exploring djangocms-rest view, you can install it and browse the website:

  • Edit INSTALLED_APPS:

    INSTALLED_APPS = [
        ...
        'djangocms_rest_view.client',
        ...
    ]
    
  • Edit urls.py:

    urlpatterns = [
        ...
        url(r'^rest/', include('djangocms_rest_view.client.urls')),
        ...
    ]
    

the Angular client will be available at http://example.com/rest/

example:

  • Copy dependencies in project bower.json

  • run bower:

    bower install
    

Customize

The sample client uses a dedicated base page to load all the default styles etc needed to render your content. Template is in rest/base.html copy it from djangocms_rest_view/client/templates/rest/base.html and edit it according your needs.

Templates

Each django CMS has a defined template to render.

You can customize the template the AngularJS client will use to render the page:

  • create a partial directory in the static directory

  • create html files for each page template

  • define the content of the rest-page template to render the placeholders and page title:

    <article class="body">
      <h2 ng-bind="content_page.title"></h2>
      <p ng-bind-html="content_page.placeholders.content | safe"></p>
    </article>
    

    content_page is the page serialization in the angular scope and contains the full serialization as visible at http://example.com/api/pages/<page-id>; thus content_page.placeholders.content contains the rendered HTML for the content placeholder.

Credits

Tools used in rendering this package:

History

0.1.9 (2016-09-25)

  • Fixed compatibility with django CMS 3.4

0.1.8 (2016-09-10)

  • First public “#PyConUK” release

0.1.0 (2016-02-01)

  • Internal release
Release History

Release History

This version
History Node

0.1.9

History Node

0.1.7

History Node

0.1.6

History Node

0.1.3

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
djangocms_rest_view-0.1.9-py2.py3-none-any.whl (18.5 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Sep 25, 2016
djangocms-rest-view-0.1.9.tar.gz (14.8 kB) Copy SHA256 Checksum SHA256 Source Sep 25, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting