A {% field_as_table_row %} template tag to simplify custom forms.
authorTodd Larsen <tlarsen@google.com>
Fri, 23 May 2008 20:56:02 +0000
changeset 38 9a6ee3ab1446
parent 37 e3491f7e8aff
child 39 fa3545f99c02
A {% field_as_table_row %} template tag to simplify custom forms. Patch by: Todd Larsen Review by: Pawel Solyga Review issue: 221 Review URL: http://codereviews.googleopensourceprograms.com/221
soc/views/helpers/templatetags/__init__.py
soc/views/helpers/templatetags/forms_helpers.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/soc/views/helpers/templatetags/forms_helpers.py	Fri May 23 20:56:02 2008 +0000
@@ -0,0 +1,55 @@
+#!/usr/bin/python2.5
+#
+# Copyright 2008 the Melange authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""A Django template tag library containing forms helpers.
+"""
+
+__authors__ = [
+  '"Todd Larsen" <tlarsen@google.com>',
+  ]
+
+
+from django import template
+register = template.Library()
+
+
+@register.inclusion_tag('soc/templatetags/_field_as_table_row.html')
+def field_as_table_row(field):
+  """Prints a newforms field as a table row.
+
+  This function actually does very little, simply passing the supplied
+  form field instance in a simple context used by the _field_as_table_row.html
+  template (which is actually doing all of the work).
+
+  See soc/templates/soc/templatetags/_field_as_table_row.html for the CSS
+  styles used by this template tag.
+
+  Usage:
+    {% load forms_helpers %}
+    ...
+    <table>
+     {% field_as_table_row form.fieldname %}
+     ...
+    </table>
+
+  Args:
+    field: a Django newforms field instance
+
+  Returns:
+    a simple context containing the supplied newforms field instance:
+      { 'field': field }
+  """
+  return {'field': field}