Django Cast — Django Cast 0.1.23 documentation

# Django Cast

Just another blogging / podcasting package

## Documentation

The full documentation is at https://django-cast.readthedocs.io.

## Installation Screencast

## Quickstart

Install Django Cast:

    pip install django-cast

Add django-cast and some dependencies to your `INSTALLED_APPS`:

    INSTALLED_APPS = (
        ...
        "imagekit",
        "ckeditor",
        "ckeditor_uploader"
        "crispy_forms",
        "django_filters",
        "rest_framework",
        "rest_framework.authtoken",
        "filepond.apps.FilepondConfig",
        "cast.apps.CastConfig",
        "watson",
        ...
    )

Add required settings:

    # CKEditor
    CKEDITOR_UPLOAD_PATH = "uploads/ckeditor/"
    CKEDITOR_IMAGE_BACKEND = "pillow"
    AWS_QUERYSTRING_AUTH = False
    X_FRAME_OPTIONS = "SAMEORIGIN"
    CKEDITOR_CONFIGS = {
            "default": {
            "removePlugins": "stylesheetparser",
            "allowedContent": True,
            "enterMode": 2,
        },
    }

    # REST
    REST_FRAMEWORK = {
        # Use Django's standard django.contrib.auth permissions,
        # or allow read-only access for unauthenticated users.
        "DEFAULT_AUTHENTICATION_CLASSES": (
            "rest_framework.authentication.SessionAuthentication",
            "rest_framework.authentication.TokenAuthentication",
        )
    }

    # django imagekit
    IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY="imagekit.cachefiles.strategies.Optimistic"

Add Django Cast’s URL patterns:

    from django.urls import path, include

    from rest_framework.documentation import include_docs_urls
    from rest_framework.authtoken import views as authtokenviews

    urlpatterns = [
        ...
        # Cast urls
        path("api/api-token-auth/", authtokenviews.obtain_auth_token),
        path("docs/", include_docs_urls(title="API service")),
        path("ckeditor/", include("ckeditor_uploader.urls")),
        # Uploads
        path("uploads/", include("filepond.urls", namespace="filepond")),
        # Cast
        path("cast/", include("cast.urls", namespace="cast")),
        ...
    ]

The api token auth urls and the docs urls are both necessary to provide api endpoints with the right namespace. The django-filepond app is used to dispatch uploads to the right media models.

## Features

- Support for responsive images / video / audio media objects

- Use django template syntax for posts allowing you to use custom template tags for galleries etc. for example

- Good looking file uploads via filepond

- Chaptermarks for podcast Episodes

## Running Tests

Does the code actually work?

    source <YOURVIRTUALENV>/bin/activate
    (myenv) $ python runtests.py tests

## Credits

Tools used in rendering this package:

- Cookiecutter

- cookiecutter-djangopackage