Skip to main content

Just another blogging / podcasting package

Project description

=============================
Django Cast
=============================

.. image:: https://badge.fury.io/py/django-cast.svg
:target: https://badge.fury.io/py/django-cast

.. image:: https://travis-ci.org/ephes/django-cast.svg?branch=master
:target: https://travis-ci.org/ephes/django-cast

.. image:: https://codecov.io/gh/ephes/django-cast/branch/master/graph/badge.svg
:target: https://codecov.io/gh/ephes/django-cast

Just another blogging / podcasting package

Documentation
-------------

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

Installation Screencast
-----------------------
.. raw:: html

<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; height: auto;">
<iframe src="https://www.youtube.com/embed/wPAYfpqg2EQ" frameborder="0" allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe>
</div>

Quickstart
----------

Install Django Cast::

pip install django-cast

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

.. code-block:: python

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



Add required settings:

.. code-block:: python

# 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:

.. code-block:: python

from django.urls import path

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 <https://github.com/ephes/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 <https://pqina.nl/filepond/>`_

Running Tests
-------------

Does the code actually work?

.. code-block:: shell

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

Credits
-------

Tools used in rendering this package:

* Cookiecutter_
* `cookiecutter-djangopackage`_

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage




History
0.1.16 (2018-03-23)
+++++++++++++++++++

* Finally, rtfd is working again, including screencast

0.1.15 (2018-03-23)
+++++++++++++++++++

* Trying again... rtfd still failing

0.1.14 (2018-03-23)
+++++++++++++++++++

* Added rtfd configuration file to be able to use python 3 :/

0.1.13 (2018-03-22)
+++++++++++++++++++

* Release to update read the docs

0.1.12 (2018-03-22)
+++++++++++++++++++

* Improved installation documentation

0.1.11 (2018-03-21)
+++++++++++++++++++

* Fixed requirements for package

0.1.10 (2018-03-21)
+++++++++++++++++++

* Dont limit the number of items in feed (was 5 items)
* Workaround for ogg files (ending differs for Audio model field name)
* Added opus format to Audio model

0.1.9 (2018-03-12)
++++++++++++++++++

* Added some podcast specific fields to post edit form
* If two audio uploads have the same name, add them to the same model instance
* Added audio file support for post edit form
* Show which audio files already were uploaded

0.1.8 (2018-02-28)
++++++++++++++++++

* Added support for m4v and improved dimension detection for iOS videos
* Added some tests for different video sources

0.1.7 (2018-02-28)
++++++++++++++++++

* forgot linting

0.1.6 (2018-02-28)
++++++++++++++++++

* Use filepond for media uploads (images video)
* Improved portrait video support
* Get api prefix programatically from schema
* Fixed link to podcast in itunes (was feed, now it's post list)
* Set visible date to now if it's not set
* use load static instead of staticfiles (deprecated)
* Fixed language displayed in itunes (you have to set it in base.py in settings)
* Dont try to be fancy, just display a plain list of feed on top of post list site (and podcast feeds only if blog.is_podcast is True)

0.1.5 (2018-11-21)
++++++++++++++++++

* basic feed support (rss/atom) for podcasts
* travis now runs tests with ffprobe, too
* documentation fixes from @SmartC2016 and @oryon-dominik

0.1.4 (2018-11-18)
++++++++++++++++++

* Include css via cast_base.html
* audio fixes

0.1.3 (2018-11-17)
++++++++++++++++++

* Fixed css/static icons
* Merged pull request from SmartC2016 to fix javascript block issue
* Added some documentation

0.1.2 (2018-11-08)
++++++++++++++++++

* Added some requirements
* Release Documentation

0.1.1 (2018-11-07)
++++++++++++++++++

* Travis build is ok.

0.1.0 (2018-11-05)
++++++++++++++++++

* First release on PyPI.


Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

django-cast-0.1.16.tar.gz (42.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_cast-0.1.16-py2.py3-none-any.whl (56.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file django-cast-0.1.16.tar.gz.

File metadata

  • Download URL: django-cast-0.1.16.tar.gz
  • Upload date:
  • Size: 42.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for django-cast-0.1.16.tar.gz
Algorithm Hash digest
SHA256 dc0231cab3ca4d38b3bb8faac209069e0ceeb913790228765fd6071359d25a06
MD5 02f6d48ad07643e4f3702d57be40c18c
BLAKE2b-256 58efef242ec8fc0a7efa5677a33597a4d90779efa155a7946a7f706bce01a9e2

See more details on using hashes here.

File details

Details for the file django_cast-0.1.16-py2.py3-none-any.whl.

File metadata

  • Download URL: django_cast-0.1.16-py2.py3-none-any.whl
  • Upload date:
  • Size: 56.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for django_cast-0.1.16-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 89b8cc4328f2fc482e64a9580523f5d4ba4ee77d4efc1c05b0eef273a5ced907
MD5 e1330c26ef23b1e4f5608e542d304cdc
BLAKE2b-256 1c7972abce9d48f7969414f80b495f291f48775ad8157d405d4302bda17e0486

See more details on using hashes here.

Supported by

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