summaryrefslogtreecommitdiff
path: root/parts/django/docs/ref/forms/widgets.txt
diff options
context:
space:
mode:
authorNishanth Amuluru2011-01-08 11:20:57 +0530
committerNishanth Amuluru2011-01-08 11:20:57 +0530
commit65411d01d448ff0cd4abd14eee14cf60b5f8fc20 (patch)
treeb4c404363c4c63a61d6e2f8bd26c5b057c1fb09d /parts/django/docs/ref/forms/widgets.txt
parent2e35094d43b4cc6974172e1febf76abb50f086ec (diff)
downloadpytask-65411d01d448ff0cd4abd14eee14cf60b5f8fc20.tar.gz
pytask-65411d01d448ff0cd4abd14eee14cf60b5f8fc20.tar.bz2
pytask-65411d01d448ff0cd4abd14eee14cf60b5f8fc20.zip
Added buildout stuff and made changes accordingly
--HG-- rename : profile/management/__init__.py => eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/py-1.4.0-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/py-1.4.0-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => parts/django/Django.egg-info/dependency_links.txt rename : taskapp/models.py => parts/django/django/conf/app_template/models.py rename : taskapp/tests.py => parts/django/django/conf/app_template/tests.py rename : taskapp/views.py => parts/django/django/conf/app_template/views.py rename : taskapp/views.py => parts/django/django/contrib/gis/tests/geo3d/views.py rename : profile/management/__init__.py => parts/django/tests/modeltests/delete/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/files/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/invalid_models/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/m2m_signals/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/model_package/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/management/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/management/commands/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/models.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/delete_regress/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/file_storage/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/max_lengths/__init__.py rename : profile/forms.py => pytask/profile/forms.py rename : profile/management/__init__.py => pytask/profile/management/__init__.py rename : profile/management/commands/seed_db.py => pytask/profile/management/commands/seed_db.py rename : profile/models.py => pytask/profile/models.py rename : profile/templatetags/user_tags.py => pytask/profile/templatetags/user_tags.py rename : taskapp/tests.py => pytask/profile/tests.py rename : profile/urls.py => pytask/profile/urls.py rename : profile/utils.py => pytask/profile/utils.py rename : profile/views.py => pytask/profile/views.py rename : static/css/base.css => pytask/static/css/base.css rename : taskapp/tests.py => pytask/taskapp/tests.py rename : taskapp/views.py => pytask/taskapp/views.py rename : templates/base.html => pytask/templates/base.html rename : templates/profile/browse_notifications.html => pytask/templates/profile/browse_notifications.html rename : templates/profile/edit.html => pytask/templates/profile/edit.html rename : templates/profile/view.html => pytask/templates/profile/view.html rename : templates/profile/view_notification.html => pytask/templates/profile/view_notification.html rename : templates/registration/activate.html => pytask/templates/registration/activate.html rename : templates/registration/activation_email.txt => pytask/templates/registration/activation_email.txt rename : templates/registration/activation_email_subject.txt => pytask/templates/registration/activation_email_subject.txt rename : templates/registration/logged_out.html => pytask/templates/registration/logged_out.html rename : templates/registration/login.html => pytask/templates/registration/login.html rename : templates/registration/logout.html => pytask/templates/registration/logout.html rename : templates/registration/password_change_done.html => pytask/templates/registration/password_change_done.html rename : templates/registration/password_change_form.html => pytask/templates/registration/password_change_form.html rename : templates/registration/password_reset_complete.html => pytask/templates/registration/password_reset_complete.html rename : templates/registration/password_reset_confirm.html => pytask/templates/registration/password_reset_confirm.html rename : templates/registration/password_reset_done.html => pytask/templates/registration/password_reset_done.html rename : templates/registration/password_reset_email.html => pytask/templates/registration/password_reset_email.html rename : templates/registration/password_reset_form.html => pytask/templates/registration/password_reset_form.html rename : templates/registration/registration_complete.html => pytask/templates/registration/registration_complete.html rename : templates/registration/registration_form.html => pytask/templates/registration/registration_form.html rename : utils.py => pytask/utils.py
Diffstat (limited to 'parts/django/docs/ref/forms/widgets.txt')
-rw-r--r--parts/django/docs/ref/forms/widgets.txt247
1 files changed, 247 insertions, 0 deletions
diff --git a/parts/django/docs/ref/forms/widgets.txt b/parts/django/docs/ref/forms/widgets.txt
new file mode 100644
index 0000000..9d78b84
--- /dev/null
+++ b/parts/django/docs/ref/forms/widgets.txt
@@ -0,0 +1,247 @@
+=======
+Widgets
+=======
+
+.. module:: django.forms.widgets
+ :synopsis: Django's built-in form widgets.
+
+.. currentmodule:: django.forms
+
+A widget is Django's representation of a HTML input element. The widget
+handles the rendering of the HTML, and the extraction of data from a GET/POST
+dictionary that corresponds to the widget.
+
+Django provides a representation of all the basic HTML widgets, plus some
+commonly used groups of widgets:
+
+.. class:: TextInput
+
+ Text input: ``<input type='text' ...>``
+
+.. class:: PasswordInput
+
+ Password input: ``<input type='password' ...>``
+
+ Takes one optional argument:
+
+ .. attribute:: PasswordInput.render_value
+
+ Determines whether the widget will have a value filled in when the
+ form is re-displayed after a validation error (default is ``True``).
+
+.. class:: HiddenInput
+
+ Hidden input: ``<input type='hidden' ...>``
+
+.. class:: MultipleHiddenInput
+
+ Multiple ``<input type='hidden' ...>`` widgets.
+
+.. class:: FileInput
+
+ File upload input: ``<input type='file' ...>``
+
+.. class:: DateInput
+
+ .. versionadded:: 1.1
+
+ Date input as a simple text box: ``<input type='text' ...>``
+
+ Takes one optional argument:
+
+ .. attribute:: DateInput.format
+
+ The format in which this field's initial value will be displayed.
+
+ If no ``format`` argument is provided, the default format is ``'%Y-%m-%d'``.
+
+.. class:: DateTimeInput
+
+ .. versionadded:: 1.0
+
+ Date/time input as a simple text box: ``<input type='text' ...>``
+
+ Takes one optional argument:
+
+ .. attribute:: DateTimeInput.format
+
+ The format in which this field's initial value will be displayed.
+
+ If no ``format`` argument is provided, the default format is ``'%Y-%m-%d
+ %H:%M:%S'``.
+
+.. class:: TimeInput
+
+ Time input as a simple text box: ``<input type='text' ...>``
+
+ Takes one optional argument:
+
+ .. attribute:: TimeInput.format
+
+ The format in which this field's initial value will be displayed.
+
+ If no ``format`` argument is provided, the default format is ``'%H:%M:%S'``.
+
+ .. versionchanged:: 1.1
+ The ``format`` argument was not supported in Django 1.0.
+
+.. class:: Textarea
+
+ Text area: ``<textarea>...</textarea>``
+
+.. class:: CheckboxInput
+
+ Checkbox: ``<input type='checkbox' ...>``
+
+ Takes one optional argument:
+
+ .. attribute:: CheckboxInput.check_test
+
+ A callable that takes the value of the CheckBoxInput
+ and returns ``True`` if the checkbox should be checked for
+ that value.
+
+.. class:: Select
+
+ Select widget: ``<select><option ...>...</select>``
+
+ Requires that your field provides :attr:`~Field.choices`.
+
+.. class:: NullBooleanSelect
+
+ Select widget with options 'Unknown', 'Yes' and 'No'
+
+.. class:: SelectMultiple
+
+ Select widget allowing multiple selection: ``<select
+ multiple='multiple'>...</select>``
+
+ Requires that your field provides :attr:`~Field.choices`.
+
+.. class:: RadioSelect
+
+ A list of radio buttons:
+
+ .. code-block:: html
+
+ <ul>
+ <li><input type='radio' ...></li>
+ ...
+ </ul>
+
+ Requires that your field provides :attr:`~Field.choices`.
+
+.. class:: CheckboxSelectMultiple
+
+ A list of checkboxes:
+
+ .. code-block:: html
+
+ <ul>
+ <li><input type='checkbox' ...></li>
+ ...
+ </ul>
+
+.. class:: MultiWidget
+
+ Wrapper around multiple other widgets
+
+.. class:: SplitDateTimeWidget
+
+ Wrapper around two widgets: ``DateInput`` for the date, and ``TimeInput``
+ for the time.
+
+ Takes two optional arguments, ``date_format`` and ``time_format``, which
+ work just like the ``format`` argument for ``DateInput`` and ``TimeInput``.
+
+ .. versionchanged:: 1.1
+ The ``date_format`` and ``time_format`` arguments were not supported in Django 1.0.
+
+.. class:: SelectDateWidget
+
+ Wrapper around three select widgets: one each for month, day, and year.
+ Note that this widget lives in a separate file from the standard widgets.
+
+ .. code-block:: python
+
+ from django.forms.extras.widgets import SelectDateWidget
+
+ date = forms.DateField(widget=SelectDateWidget())
+
+Specifying widgets
+------------------
+
+.. attribute:: Form.widget
+
+Whenever you specify a field on a form, Django will use a default widget
+that is appropriate to the type of data that is to be displayed. To find
+which widget is used on which field, see the documentation for the
+built-in Field classes.
+
+However, if you want to use a different widget for a field, you can -
+just use the 'widget' argument on the field definition. For example::
+
+ from django import forms
+
+ class CommentForm(forms.Form):
+ name = forms.CharField()
+ url = forms.URLField()
+ comment = forms.CharField(widget=forms.Textarea)
+
+This would specify a form with a comment that uses a larger Textarea widget,
+rather than the default TextInput widget.
+
+Customizing widget instances
+----------------------------
+
+When Django renders a widget as HTML, it only renders the bare minimum
+HTML - Django doesn't add a class definition, or any other widget-specific
+attributes. This means that all 'TextInput' widgets will appear the same
+on your Web page.
+
+If you want to make one widget look different to another, you need to
+specify additional attributes for each widget. When you specify a
+widget, you can provide a list of attributes that will be added to the
+rendered HTML for the widget.
+
+For example, take the following simple form::
+
+ class CommentForm(forms.Form):
+ name = forms.CharField()
+ url = forms.URLField()
+ comment = forms.CharField()
+
+This form will include three default TextInput widgets, with default rendering -
+no CSS class, no extra attributes. This means that the input boxes provided for
+each widget will be rendered exactly the same::
+
+ >>> f = CommentForm(auto_id=False)
+ >>> f.as_table()
+ <tr><th>Name:</th><td><input type="text" name="name" /></td></tr>
+ <tr><th>Url:</th><td><input type="text" name="url"/></td></tr>
+ <tr><th>Comment:</th><td><input type="text" name="comment" /></td></tr>
+
+
+On a real Web page, you probably don't want every widget to look the same. You
+might want a larger input element for the comment, and you might want the 'name'
+widget to have some special CSS class. To do this, you use the ``attrs``
+argument when creating the widget:
+
+.. attribute:: Widget.attrs
+
+For example::
+
+ class CommentForm(forms.Form):
+ name = forms.CharField(
+ widget=forms.TextInput(attrs={'class':'special'}))
+ url = forms.URLField()
+ comment = forms.CharField(
+ widget=forms.TextInput(attrs={'size':'40'}))
+
+Django will then include the extra attributes in the rendered output::
+
+ >>> f = CommentForm(auto_id=False)
+ >>> f.as_table()
+ <tr><th>Name:</th><td><input type="text" name="name" class="special"/></td></tr>
+ <tr><th>Url:</th><td><input type="text" name="url"/></td></tr>
+ <tr><th>Comment:</th><td><input type="text" name="comment" size="40"/></td></tr>