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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3.2

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