django/examples/hello/views.py

56 lines
2.2 KiB
Python

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