From 64ad5567f350e770d7bb0d6c91dc4a231a01583e Mon Sep 17 00:00:00 2001 From: David Baumgold Date: Wed, 31 Jul 2013 17:20:24 -0400 Subject: [PATCH 1/2] Create urls/views/templates for dev-only views Our designers find it helpful to be able to stub out simple views that aren't ready to be seen for production yet, and check them into version control so that other people can see them and provide feedback. This commit introduces a few new files and directories for this purpose, as well as a sample view that will only be seen in dev mode, and never in production. --- cms/djangoapps/contentstore/views/__init__.py | 4 ++++ cms/djangoapps/contentstore/views/dev.py | 5 +++++ cms/templates/dev/dev_mode.html | 4 ++++ cms/urls.py | 11 ++++++++--- cms/urls_dev.py | 5 +++++ 5 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 cms/djangoapps/contentstore/views/dev.py create mode 100644 cms/templates/dev/dev_mode.html create mode 100644 cms/urls_dev.py diff --git a/cms/djangoapps/contentstore/views/__init__.py b/cms/djangoapps/contentstore/views/__init__.py index f3e98ec216..197c54ff36 100644 --- a/cms/djangoapps/contentstore/views/__init__.py +++ b/cms/djangoapps/contentstore/views/__init__.py @@ -15,3 +15,7 @@ from .public import * from .user import * from .tabs import * from .requests import * +try: + from .dev import * +except ImportError: + pass diff --git a/cms/djangoapps/contentstore/views/dev.py b/cms/djangoapps/contentstore/views/dev.py new file mode 100644 index 0000000000..1c4f0d643e --- /dev/null +++ b/cms/djangoapps/contentstore/views/dev.py @@ -0,0 +1,5 @@ +from mitxmako.shortcuts import render_to_response + + +def dev_mode(request): + return render_to_response("dev/dev_mode.html") diff --git a/cms/templates/dev/dev_mode.html b/cms/templates/dev/dev_mode.html new file mode 100644 index 0000000000..9ee409d5de --- /dev/null +++ b/cms/templates/dev/dev_mode.html @@ -0,0 +1,4 @@ +<%inherit file="../base.html" /> +<%block name="content"> +You're in dev mode! + diff --git a/cms/urls.py b/cms/urls.py index def1ad1bf8..5945394f55 100644 --- a/cms/urls.py +++ b/cms/urls.py @@ -137,9 +137,7 @@ urlpatterns += ( if settings.ENABLE_JASMINE: - # # Jasmine - urlpatterns = urlpatterns + (url(r'^_jasmine/', include('django_jasmine.urls')),) - + urlpatterns += (url(r'^_jasmine/', include('django_jasmine.urls')),) if settings.MITX_FEATURES.get('ENABLE_SERVICE_STATUS'): urlpatterns += ( @@ -154,6 +152,13 @@ if settings.MITX_FEATURES.get('AUTOMATIC_AUTH_FOR_LOAD_TESTING'): url(r'^auto_auth$', 'student.views.auto_auth'), ) +if settings.DEBUG: + try: + from .urls_dev import urlpatterns as dev_urlpatterns + urlpatterns += dev_urlpatterns + except ImportError: + pass + urlpatterns = patterns(*urlpatterns) # Custom error pages diff --git a/cms/urls_dev.py b/cms/urls_dev.py new file mode 100644 index 0000000000..ce2cecc8fe --- /dev/null +++ b/cms/urls_dev.py @@ -0,0 +1,5 @@ +from django.conf.urls import url + +urlpatterns = ( + url(r'^dev_mode$', 'contentstore.views.dev.dev_mode', name='dev_mode'), +) From 741bbb3f926249b0d6ac8baf2c05bed45e75941c Mon Sep 17 00:00:00 2001 From: David Baumgold Date: Thu, 1 Aug 2013 13:55:05 -0400 Subject: [PATCH 2/2] pylint cleanup --- cms/djangoapps/contentstore/views/dev.py | 7 +++++++ cms/urls_dev.py | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/cms/djangoapps/contentstore/views/dev.py b/cms/djangoapps/contentstore/views/dev.py index 1c4f0d643e..0fcc355c11 100644 --- a/cms/djangoapps/contentstore/views/dev.py +++ b/cms/djangoapps/contentstore/views/dev.py @@ -1,5 +1,12 @@ +""" +Views that are only activated when the project is running in development mode. +These views will NOT be shown on production: trying to access them will result +in a 404 error. +""" +# pylint: disable=W0613 from mitxmako.shortcuts import render_to_response def dev_mode(request): + "Sample static view" return render_to_response("dev/dev_mode.html") diff --git a/cms/urls_dev.py b/cms/urls_dev.py index ce2cecc8fe..cb31fc8b47 100644 --- a/cms/urls_dev.py +++ b/cms/urls_dev.py @@ -1,3 +1,8 @@ +""" +URLconf for development-only views. +This gets imported by urls.py and added to its URLconf if we are running in +development mode; otherwise, it is ignored. +""" from django.conf.urls import url urlpatterns = (