summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorSimon Willison <simon@simonwillison.net>2008-09-15 09:30:05 +0000
committerSimon Willison <simon@simonwillison.net>2008-09-15 09:30:05 +0000
commit7617e73c8cfe99601645ce487781ecc86f8c6536 (patch)
tree786dc18b190e57aea705d22e26628ac8b880dbbe /docs
parent6fcdcbd456cc2eb832e956414eccb993216f44ab (diff)
Added documentation on creating reusable form templates; thanks for the suggestion, oggie rob
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9033 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs')
-rw-r--r--docs/topics/forms/index.txt31
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/topics/forms/index.txt b/docs/topics/forms/index.txt
index cf6b933ee4..8ac950e589 100644
--- a/docs/topics/forms/index.txt
+++ b/docs/topics/forms/index.txt
@@ -290,6 +290,37 @@ templates:
corresponding to this field. You can customize the presentation of
the errors with a ``{% for error in field.errors %}`` loop.
+Reusable form templates
+-----------------------
+
+If your site uses the same rendering logic for forms in multiple places you
+can create a template that contains just the form loop and use the
+:ttag:`include` tag to reuse it in your other templates::
+
+ <form action="/contact/" method="POST">
+ {% include "form_snippet.html" %}
+ <p><input type="submit" value="Send message"></p>
+ </form>
+
+ # In form_snippet.html:
+
+ {% for field in form %}
+ <div class="fieldWrapper">
+ {{ field.errors }}
+ {{ field.label_tag }}: {{ field }}
+ </div>
+ {% endfor %}
+
+If the form object passed to a template has a different name within the
+context you can alias it using the :ttag:`with` tag::
+
+ <form action="/comments/add/" method="POST">
+ {% with comment_form as form %}
+ {% include "form_snippet.html" %}
+ {% endwith %}
+ <p><input type="submit" value="Submit comment"></p>
+ </form>
+
Further topics
==============