Skip to main content

Django class based views for templates stored in a database.

Project description

https://badge.fury.io/py/django-database-views.svg https://travis-ci.org/a7madnassar/django-database-views.svg?branch=master https://coveralls.io/repos/github/a7madnassar/django-database-views/badge.svg?branch=master

Serve your single page Javascript applications from Django.

Documentation

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

Requirements

  • Django > 1.8

  • A database engine such as MySQL

Quickstart

Install django-database-views using pip:

pip install django-database-views

Add it to your installed apps:

INSTALLED_APPS = (
    ...
    'database_views.apps.DatabaseViewsConfig',
    ...
)

Create a model to store versions for your index template in your app’s models.py:

from database_views.models import AbstractTemplate


class IndexTemplate(AbstractTemplate):

    class Meta:
        db_table = 'your_table_name' # For example 'index_template'.

Create a class-based view for your single page app in your app’s views.py and assign your model to its model property:

from database_views.views import DatabaseTemplateView
from database_views.views import CachedTemplateResponse
from myapp.models import IndexTemplate


class IndexView(DatabaseTemplateView):
    model = IndexTemplate
    response_class = CachedTemplateResponse

Add a route for your index page view in your project’s urls.py file:

from myapp.views import IndexView

urlpatterns = [
    ...
    url(r'^$', IndexView.as_view())
    ...
]

That’s it!! Go to your new route and you should see your single page app’s index template served. Please ensure that you configure the serving of your app’s static assets properly.

Features

  • Easily serve your single page javascript applications from Django.

  • Optionally cache your templates for a configurable amount of time.

  • Works with ember-cli-deploy and more specifically with ember-cli-deploy-mysql.

Running Tests

To run tests use the following commands from the root of this project:

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install -r requirements_test.txt
(myenv) $ py.test

Credits

Tools used in rendering this package:

History

0.1.0 (2017-03-10)

  • First release on PyPI.

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

django-database-views-0.1.1.tar.gz (7.4 kB view hashes)

Uploaded Source

Built Distribution

django_database_views-0.1.1-py2.py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 2 Python 3

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