aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2012-09-03 16:06:17 +0100
committerTom Christie2012-09-03 16:06:17 +0100
commit93189ec27d53d3216d452abdc2711e973a888d0c (patch)
tree4f21c9f2e9817fb2177d81b229fb03083e39de02
parent149b00a070fcbfd44feee5b37096081e18356f93 (diff)
downloaddjango-rest-framework-93189ec27d53d3216d452abdc2711e973a888d0c.tar.bz2
Added format_suffix_patterns, and fix up settings
-rw-r--r--djangorestframework/settings.py6
-rw-r--r--djangorestframework/urlpatterns.py20
-rw-r--r--docs/tutorial/2-requests-and-responses.md1
3 files changed, 24 insertions, 3 deletions
diff --git a/djangorestframework/settings.py b/djangorestframework/settings.py
index 1acaad0c..e801a9f1 100644
--- a/djangorestframework/settings.py
+++ b/djangorestframework/settings.py
@@ -23,10 +23,10 @@ DEFAULTS = {
'DEFAULT_RENDERERS': (
renderers.JSONRenderer,
renderers.JSONPRenderer,
- renderers.DocumentingHTMLRenderer,
- renderers.DocumentingXHTMLRenderer,
+ # renderers.DocumentingHTMLRenderer,
+ # renderers.DocumentingXHTMLRenderer,
renderers.DocumentingPlainTextRenderer,
- renderers.XMLRenderer
+ # renderers.XMLRenderer
)
}
diff --git a/djangorestframework/urlpatterns.py b/djangorestframework/urlpatterns.py
new file mode 100644
index 00000000..d34acf9b
--- /dev/null
+++ b/djangorestframework/urlpatterns.py
@@ -0,0 +1,20 @@
+from django.conf.urls.defaults import url
+
+
+def format_suffix_patterns(urlpatterns, suffix_required=False):
+ """
+ Supplement existing urlpatterns with corrosponding patterns that also
+ include a '.format' suffix. Retains urlpattern ordering.
+ """
+ ret = []
+ for urlpattern in urlpatterns:
+ # Form our complementing '.format' urlpattern
+ regex = urlpattern.regex.pattern.rstrip('$') + '.(?P<format>[a-z]+)$'
+ view = urlpattern._callback or urlpattern._callback_str
+ kwargs = urlpattern.default_args
+ name = urlpattern.name
+ # Add in both the existing and the new urlpattern
+ if not suffix_required:
+ ret.append(urlpattern)
+ ret.append(url(regex, view, kwargs, name))
+ return ret
diff --git a/docs/tutorial/2-requests-and-responses.md b/docs/tutorial/2-requests-and-responses.md
index 9309f6e0..4ff303ae 100644
--- a/docs/tutorial/2-requests-and-responses.md
+++ b/docs/tutorial/2-requests-and-responses.md
@@ -111,6 +111,7 @@ and
Now update the `urls.py` file slightly, to append a set of `format_suffix_patterns` in addition to the existing URLs.
+ from django.conf.urls import patterns, url
from djangorestframework.urlpatterns import format_suffix_patterns
urlpatterns = patterns('blogpost.views',