diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/__init__.py | 0 | ||||
| -rw-r--r-- | examples/hello/__init__.py | 0 | ||||
| -rw-r--r-- | examples/hello/urls.py | 10 | ||||
| -rw-r--r-- | examples/hello/views.py | 55 | ||||
| -rw-r--r-- | examples/manage.py | 11 | ||||
| -rw-r--r-- | examples/settings.py | 5 | ||||
| -rw-r--r-- | examples/urls.py | 6 | ||||
| -rw-r--r-- | examples/views.py | 12 |
8 files changed, 99 insertions, 0 deletions
diff --git a/examples/__init__.py b/examples/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/examples/__init__.py diff --git a/examples/hello/__init__.py b/examples/hello/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/examples/hello/__init__.py diff --git a/examples/hello/urls.py b/examples/hello/urls.py new file mode 100644 index 0000000000..e57c2b8e8c --- /dev/null +++ b/examples/hello/urls.py @@ -0,0 +1,10 @@ +from django.conf.urls.defaults import * + +urlpatterns = patterns('examples.hello.views', + (r'^html/$', 'hello_html'), + (r'^text/$', 'hello_text'), + (r'^write/$', 'hello_write'), + (r'^metadata/$', 'metadata'), + (r'^getdata/$', 'get_data'), + (r'^postdata/$', 'post_data'), +) diff --git a/examples/hello/views.py b/examples/hello/views.py new file mode 100644 index 0000000000..07f955a38d --- /dev/null +++ b/examples/hello/views.py @@ -0,0 +1,55 @@ +from django.http import HttpResponse +from django.utils.html import escape + +def hello_html(request): + "This view is a basic 'hello world' example in HTML." + return HttpResponse('<h1>Hello, world.</h1>') + +def hello_text(request): + "This view is a basic 'hello world' example in plain text." + return HttpResponse('Hello, world.', mimetype='text/plain') + +def hello_write(request): + "This view demonstrates how an HttpResponse object has a write() method." + r = HttpResponse() + r.write("<p>Here's a paragraph.</p>") + r.write("<p>Here's another paragraph.</p>") + return r + +def metadata(request): + "This view demonstrates how to retrieve request metadata, such as HTTP headers." + r = HttpResponse('<h1>All about you</h1>') + r.write("<p>Here's all known metadata about your request, according to <code>request.META</code>:</p>") + r.write('<table>') + meta_items = request.META.items() + meta_items.sort() + for k, v in meta_items: + r.write('<tr><th>%s</th><td>%r</td></tr>' % (k, v)) + r.write('</table>') + return r + +def get_data(request): + "This view demonstrates how to retrieve GET data." + r = HttpResponse() + if request.GET: + r.write('<p>GET data found! Here it is:</p>') + r.write('<ul>%s</ul>' % ''.join(['<li><strong>%s:</strong> %r</li>' % (escape(k), escape(v)) for k, v in request.GET.items()])) + r.write('<form action="" method="get">') + r.write('<p>First name: <input type="text" name="first_name"></p>') + r.write('<p>Last name: <input type="text" name="last_name"></p>') + r.write('<p><input type="submit" value="Submit"></p>') + r.write('</form>') + return r + +def post_data(request): + "This view demonstrates how to retrieve POST data." + r = HttpResponse() + if request.POST: + r.write('<p>POST data found! Here it is:</p>') + r.write('<ul>%s</ul>' % ''.join(['<li><strong>%s:</strong> %r</li>' % (escape(k), escape(v)) for k, v in request.POST.items()])) + r.write('<form action="" method="post">') + r.write('<p>First name: <input type="text" name="first_name"></p>') + r.write('<p>Last name: <input type="text" name="last_name"></p>') + r.write('<p><input type="submit" value="Submit"></p>') + r.write('</form>') + return r diff --git a/examples/manage.py b/examples/manage.py new file mode 100644 index 0000000000..008aeeb72b --- /dev/null +++ b/examples/manage.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python +from django.core.management import execute_manager +try: + import settings # Assumed to be in the same directory. +except ImportError: + import sys + sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n" % __file__) + sys.exit(1) + +if __name__ == "__main__": + execute_manager(settings) diff --git a/examples/settings.py b/examples/settings.py new file mode 100644 index 0000000000..aa54a34386 --- /dev/null +++ b/examples/settings.py @@ -0,0 +1,5 @@ +# Django settings for the example project. + +DEBUG = True +TEMPLATE_DEBUG = DEBUG +ROOT_URLCONF = 'examples.urls' diff --git a/examples/urls.py b/examples/urls.py new file mode 100644 index 0000000000..69b465f65d --- /dev/null +++ b/examples/urls.py @@ -0,0 +1,6 @@ +from django.conf.urls.defaults import * + +urlpatterns = patterns('', + (r'^$', 'examples.views.index'), + (r'^hello/', include('examples.hello.urls')), +) diff --git a/examples/views.py b/examples/views.py new file mode 100644 index 0000000000..902bfda0f8 --- /dev/null +++ b/examples/views.py @@ -0,0 +1,12 @@ +from django import http + +def index(request): + r = http.HttpResponse('<h1>Django examples</h1><ul>') + r.write('<li><a href="hello/html/">Hello world (HTML)</a></li>') + r.write('<li><a href="hello/text/">Hello world (text)</a></li>') + r.write('<li><a href="hello/write/">HttpResponse objects are file-like objects</a></li>') + r.write('<li><a href="hello/metadata/">Displaying request metadata</a></li>') + r.write('<li><a href="hello/getdata/">Displaying GET data</a></li>') + r.write('<li><a href="hello/postdata/">Displaying POST data</a></li>') + r.write('</ul>') + return r |
