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://youtu.be/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.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.
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://youtu.be/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.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.14.tar.gz
(41.8 kB
view hashes)
Built Distribution
Close
Hashes for django_cast-0.1.14-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71579ba0b4e9aa02876946f9643d1a7078affe9d28cdc8b18e399232e24c1104 |
|
MD5 | 0a86d8d975e972b257eb56411f926d88 |
|
BLAKE2b-256 | 4260e4238a81d70cb55eb2f05dbd2326e94415c35b17f7591a7eede73780f878 |