django-database-views¶
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):
app_name = 'main'
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