Skip to main content

A Django app for adding R Shiny apps to a Django site with django CMS-specific features

Project description

djangocms-shiny-app is a Django app for adding R Shiny apps to a Django site with django CMS-specific features.

Source code is available on GitHub at mfcovington/djangocms-shiny-app.

Installation

PyPI

pip install djangocms-shiny-app

GitHub (development branch)

pip install git+http://github.com/mfcovington/djangocms-shiny-app.git@develop

Configuration

  • Install django CMS and start a project, if one doesn’t already exist.

  • Unless you use this app as part of djangocms-lab-site or plan to style the app from scratch, you will want to choose the Use Twitter Bootstrap Theme option (when running djangocms) and then edit the resulting templates/base.html.

    • This will add style that looks like Bootstrap 2. To use Bootstrap 3 styling, remove the following line for the bootstrap-theme.min.css stylesheet from templates/base.html:

      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.x.x/css/bootstrap-theme.min.css">
    • The default menu settings for django CMS using Bootstrap will allow the user to access specific lab members via a dropdown menu, but will not give easy access to the summary page of all Shiny apps. To fix this do one of the following:

      • In templates/base.html, change {% show_menu 0 1 100 100 "menu.html" %} to {% show_menu 0 0 100 100 "menu.html" %}, or

      • Use a split button dropdowns by changing that line to {% show_menu 0 100 1 1 ‘_menu.html’ %} and populate _menu.html as done in djangocms-lab-site.

  • Edit the project’s settings.py file.

    • Add cms_shiny and its dependencies to INSTALLED_APPS:

    INSTALLED_APPS = (
        # ...
        'cms_shiny',
        'easy_thumbnails',
        'filer',
        'mptt',
    )
    • Add easy_thumbnail settings:

    # For easy_thumbnails to support retina displays (recent MacBooks, iOS)
    THUMBNAIL_HIGH_RESOLUTION = True
    THUMBNAIL_QUALITY = 95
    THUMBNAIL_PROCESSORS = (
        'easy_thumbnails.processors.colorspace',
        'easy_thumbnails.processors.autocrop',
        'filer.thumbnail_processors.scale_and_crop_with_subject_location',
        'easy_thumbnails.processors.filters',
    )
    THUMBNAIL_PRESERVE_EXTENSIONS = ('png', 'gif')
    THUMBNAIL_SUBDIR = 'versions'
  • To access cms_shiny pages without using a django CMS AppHook, include URL configurations for cms_shiny in your project’s urls.py file:

    • For Django 1.7:

      urlpatterns = patterns('',
          # ...
          url(r'^shiny_apps/', include('cms_shiny.urls', namespace='cms_shiny')),
          # ...
      )
    • For Django 1.8:

      urlpatterns = [
          # ...
          url(r'^shiny_apps/', include('cms_shiny.urls', namespace='cms_shiny')),
          # ...
      ]

Migrations

Create and perform cms_shiny migrations:

python manage.py makemigrations cms_shiny
python manage.py migrate

Usage

  • Start the development server:

python manage.py runserver
  • Visit: http://127.0.0.1:8000/

  • Create a CMS page and then:

    • Attach the Shiny Apps App under Advanced Settings for the page, OR

    • Insert the Shiny App Plugin into a placeholder field.

Version 0.1.3

Revision History

0.1.3 2015-12-07

  • Fix thumbnail image elongation in Chrome on screens >= 1200px wide

  • Require that ShinyApp name and slug are unique

  • Update README with more complete and accurate instructions

  • Prepare for distribution via PyPI

0.1.2 2015-04-21

  • Replace line breaks in slide description field with appropriate HTML

0.1.1 2015-04-19

  • Improve django CMS integration and styling

0.1.0 2015-04-16

  • A Django app for adding R Shiny apps to a Django site with django CMS-specific features

Project details


Download files

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

Source Distribution

djangocms-shiny-app-0.1.3.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

djangocms_shiny_app-0.1.3-py32-none-any.whl (16.3 kB view details)

Uploaded Python 3.2

File details

Details for the file djangocms-shiny-app-0.1.3.tar.gz.

File metadata

File hashes

Hashes for djangocms-shiny-app-0.1.3.tar.gz
Algorithm Hash digest
SHA256 1c85e2965e071534a6c2e1706aaf4ee56262a2eb652e98b9f1fe6bad41e1e7e4
MD5 03775df40eca0f72e4c635f01595d2a6
BLAKE2b-256 4d6eb2ad7492a77fefa2fd6b443f66155eaf4a0c3949170adef551bf80c5cbb0

See more details on using hashes here.

File details

Details for the file djangocms_shiny_app-0.1.3-py32-none-any.whl.

File metadata

File hashes

Hashes for djangocms_shiny_app-0.1.3-py32-none-any.whl
Algorithm Hash digest
SHA256 1b061e92ed43c550ec48c719cd78b06af1080924e3f1ab802edfaa7d6defcda7
MD5 d5a9e09449be2be1405b6aae12a69df0
BLAKE2b-256 dacbf1385fae012365637c565a65b83ba60c3bd7efcba30a47042cb309e44d2f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page