mirror of
https://github.com/django/django.git
synced 2025-07-05 18:29:11 +00:00
boulder-oracle-sprint: Merged to [5274]
git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@5275 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
74e2925042
commit
310ae7eccc
@ -2,9 +2,10 @@
|
|||||||
Extra HTML Widget classes
|
Extra HTML Widget classes
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import datetime
|
||||||
|
|
||||||
from django.newforms.widgets import Widget, Select
|
from django.newforms.widgets import Widget, Select
|
||||||
from django.utils.dates import MONTHS
|
from django.utils.dates import MONTHS
|
||||||
import datetime
|
|
||||||
|
|
||||||
__all__ = ('SelectDateWidget',)
|
__all__ = ('SelectDateWidget',)
|
||||||
|
|
||||||
|
@ -2,14 +2,16 @@
|
|||||||
Field classes
|
Field classes
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from django.utils.translation import gettext
|
|
||||||
from django.utils.encoding import smart_unicode
|
|
||||||
from util import ErrorList, ValidationError
|
|
||||||
from widgets import TextInput, PasswordInput, HiddenInput, MultipleHiddenInput, CheckboxInput, Select, NullBooleanSelect, SelectMultiple
|
|
||||||
import datetime
|
import datetime
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
from django.utils.translation import gettext
|
||||||
|
from django.utils.encoding import smart_unicode
|
||||||
|
|
||||||
|
from util import ErrorList, ValidationError
|
||||||
|
from widgets import TextInput, PasswordInput, HiddenInput, MultipleHiddenInput, CheckboxInput, Select, NullBooleanSelect, SelectMultiple
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'Field', 'CharField', 'IntegerField',
|
'Field', 'CharField', 'IntegerField',
|
||||||
'DEFAULT_DATE_INPUT_FORMATS', 'DateField',
|
'DEFAULT_DATE_INPUT_FORMATS', 'DateField',
|
||||||
|
@ -2,13 +2,15 @@
|
|||||||
Form classes
|
Form classes
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from django.utils.datastructures import SortedDict, MultiValueDict
|
import copy
|
||||||
|
|
||||||
|
from django.utils.datastructures import SortedDict
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
from django.utils.encoding import StrAndUnicode
|
from django.utils.encoding import StrAndUnicode
|
||||||
|
|
||||||
from fields import Field
|
from fields import Field
|
||||||
from widgets import TextInput, Textarea, HiddenInput, MultipleHiddenInput
|
from widgets import TextInput, Textarea
|
||||||
from util import flatatt, ErrorDict, ErrorList, ValidationError
|
from util import flatatt, ErrorDict, ErrorList, ValidationError
|
||||||
import copy
|
|
||||||
|
|
||||||
__all__ = ('BaseForm', 'Form')
|
__all__ = ('BaseForm', 'Form')
|
||||||
|
|
||||||
|
@ -4,13 +4,16 @@ and database field objects.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from django.utils.translation import gettext
|
from django.utils.translation import gettext
|
||||||
|
|
||||||
from util import ValidationError
|
from util import ValidationError
|
||||||
from forms import BaseForm, DeclarativeFieldsMetaclass, SortedDictFromList
|
from forms import BaseForm, SortedDictFromList
|
||||||
from fields import Field, ChoiceField
|
from fields import Field, ChoiceField
|
||||||
from widgets import Select, SelectMultiple, MultipleHiddenInput
|
from widgets import Select, SelectMultiple, MultipleHiddenInput
|
||||||
|
|
||||||
__all__ = ('save_instance', 'form_for_model', 'form_for_instance', 'form_for_fields',
|
__all__ = (
|
||||||
'ModelChoiceField', 'ModelMultipleChoiceField')
|
'save_instance', 'form_for_model', 'form_for_instance', 'form_for_fields',
|
||||||
|
'ModelChoiceField', 'ModelMultipleChoiceField'
|
||||||
|
)
|
||||||
|
|
||||||
def save_instance(form, instance, fields=None, fail_message='saved', commit=True):
|
def save_instance(form, instance, fields=None, fail_message='saved', commit=True):
|
||||||
"""
|
"""
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
from django.conf import settings
|
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
from django.utils.functional import Promise, lazy
|
|
||||||
from django.utils.encoding import smart_unicode
|
from django.utils.encoding import smart_unicode
|
||||||
|
|
||||||
# Converts a dictionary to a single string with key="value", XML-style with
|
# Converts a dictionary to a single string with key="value", XML-style with
|
||||||
|
@ -2,24 +2,26 @@
|
|||||||
HTML Widget classes
|
HTML Widget classes
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__all__ = (
|
|
||||||
'Widget', 'TextInput', 'PasswordInput', 'HiddenInput', 'MultipleHiddenInput',
|
|
||||||
'FileInput', 'Textarea', 'CheckboxInput',
|
|
||||||
'Select', 'NullBooleanSelect', 'SelectMultiple', 'RadioSelect', 'CheckboxSelectMultiple',
|
|
||||||
'MultiWidget', 'SplitDateTimeWidget',
|
|
||||||
)
|
|
||||||
|
|
||||||
from util import flatatt
|
|
||||||
from django.utils.datastructures import MultiValueDict
|
|
||||||
from django.utils.html import escape
|
|
||||||
from django.utils.translation import gettext
|
|
||||||
from django.utils.encoding import StrAndUnicode, smart_unicode
|
|
||||||
from itertools import chain
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
set # Only available in Python 2.4+
|
set # Only available in Python 2.4+
|
||||||
except NameError:
|
except NameError:
|
||||||
from sets import Set as set # Python 2.3 fallback
|
from sets import Set as set # Python 2.3 fallback
|
||||||
|
from itertools import chain
|
||||||
|
|
||||||
|
from django.utils.datastructures import MultiValueDict
|
||||||
|
from django.utils.html import escape
|
||||||
|
from django.utils.translation import gettext
|
||||||
|
from django.utils.encoding import StrAndUnicode, smart_unicode
|
||||||
|
|
||||||
|
from util import flatatt
|
||||||
|
|
||||||
|
__all__ = (
|
||||||
|
'Widget', 'TextInput', 'PasswordInput',
|
||||||
|
'HiddenInput', 'MultipleHiddenInput',
|
||||||
|
'FileInput', 'Textarea', 'CheckboxInput',
|
||||||
|
'Select', 'NullBooleanSelect', 'SelectMultiple', 'RadioSelect',
|
||||||
|
'CheckboxSelectMultiple', 'MultiWidget', 'SplitDateTimeWidget',
|
||||||
|
)
|
||||||
|
|
||||||
class Widget(object):
|
class Widget(object):
|
||||||
is_hidden = False # Determines whether this corresponds to an <input type="hidden">.
|
is_hidden = False # Determines whether this corresponds to an <input type="hidden">.
|
||||||
|
@ -279,6 +279,15 @@ Please follow these coding standards when writing code for inclusion in Django:
|
|||||||
* Mark all strings for internationalization; see the `i18n documentation`_
|
* Mark all strings for internationalization; see the `i18n documentation`_
|
||||||
for details.
|
for details.
|
||||||
|
|
||||||
|
* Please don't put your name in the code you contribute. Our policy is to
|
||||||
|
keep contributors' names in the ``AUTHORS`` file distributed with Django
|
||||||
|
-- not scattered throughout the codebase itself. Feel free to include a
|
||||||
|
change to the ``AUTHORS`` file in your patch if you make more than a
|
||||||
|
single trivial change.
|
||||||
|
|
||||||
|
Template style
|
||||||
|
--------------
|
||||||
|
|
||||||
* In Django template code, put one (and only one) space between the curly
|
* In Django template code, put one (and only one) space between the curly
|
||||||
brackets and the tag contents.
|
brackets and the tag contents.
|
||||||
|
|
||||||
@ -290,6 +299,9 @@ Please follow these coding standards when writing code for inclusion in Django:
|
|||||||
|
|
||||||
{{foo}}
|
{{foo}}
|
||||||
|
|
||||||
|
View style
|
||||||
|
----------
|
||||||
|
|
||||||
* In Django views, the first parameter in a view function should be called
|
* In Django views, the first parameter in a view function should be called
|
||||||
``request``.
|
``request``.
|
||||||
|
|
||||||
@ -303,11 +315,72 @@ Please follow these coding standards when writing code for inclusion in Django:
|
|||||||
def my_view(req, foo):
|
def my_view(req, foo):
|
||||||
# ...
|
# ...
|
||||||
|
|
||||||
* Please don't put your name in the code you contribute. Our policy is to
|
Model style
|
||||||
keep contributors' names in the ``AUTHORS`` file distributed with Django
|
-----------
|
||||||
-- not scattered throughout the codebase itself. Feel free to include a
|
|
||||||
change to the ``AUTHORS`` file in your patch if you make more than a
|
* Field names should be all lowercase, using underscores instead of
|
||||||
single trivial change.
|
camelCase.
|
||||||
|
|
||||||
|
Do this::
|
||||||
|
|
||||||
|
class Person(models.Model):
|
||||||
|
first_name = models.CharField(maxlength=20)
|
||||||
|
last_name = models.CharField(maxlength=40)
|
||||||
|
|
||||||
|
Don't do this::
|
||||||
|
|
||||||
|
class Person(models.Model):
|
||||||
|
FirstName = models.CharField(maxlength=20)
|
||||||
|
Last_Name = models.CharField(maxlength=40)
|
||||||
|
|
||||||
|
* The ``class Meta`` should appear *after* the fields are defined, with
|
||||||
|
a single blank line separating the fields and the class definition.
|
||||||
|
|
||||||
|
Do this::
|
||||||
|
|
||||||
|
class Person(models.Model):
|
||||||
|
first_name = models.CharField(maxlength=20)
|
||||||
|
last_name = models.CharField(maxlength=40)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name_plural = 'people'
|
||||||
|
|
||||||
|
Don't do this::
|
||||||
|
|
||||||
|
class Person(models.Model):
|
||||||
|
first_name = models.CharField(maxlength=20)
|
||||||
|
last_name = models.CharField(maxlength=40)
|
||||||
|
class Meta:
|
||||||
|
verbose_name_plural = 'people'
|
||||||
|
|
||||||
|
Don't do this, either::
|
||||||
|
|
||||||
|
class Person(models.Model):
|
||||||
|
class Meta:
|
||||||
|
verbose_name_plural = 'people'
|
||||||
|
|
||||||
|
first_name = models.CharField(maxlength=20)
|
||||||
|
last_name = models.CharField(maxlength=40)
|
||||||
|
|
||||||
|
* The order of model inner classes and standard methods should be as
|
||||||
|
follows (noting that these are not all required):
|
||||||
|
|
||||||
|
* All database fields
|
||||||
|
* ``class Meta``
|
||||||
|
* ``class Admin``
|
||||||
|
* ``def __str__()``
|
||||||
|
* ``def save()``
|
||||||
|
* ``def get_absolute_url()``
|
||||||
|
* Any custom methods
|
||||||
|
|
||||||
|
* If ``choices`` is defined for a given model field, define the choices as
|
||||||
|
a tuple of tuples, with an all-uppercase name, either near the top of the
|
||||||
|
model module or just above the model class. Example::
|
||||||
|
|
||||||
|
GENDER_CHOICES = (
|
||||||
|
('M', 'Male'),
|
||||||
|
('F', 'Female'),
|
||||||
|
)
|
||||||
|
|
||||||
Committing code
|
Committing code
|
||||||
===============
|
===============
|
||||||
|
Loading…
x
Reference in New Issue
Block a user