summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorDražen Odobašić <dodobas@candela-it.com>2015-09-11 19:33:12 -0400
committerTim Graham <timograham@gmail.com>2015-09-12 11:40:50 -0400
commitb1e33ceceda1e75ff68c7deed8f6659683a195d3 (patch)
treee4e446f69194f2dc3c9c7ee3ecf48290ea8d4d31 /django
parent84b0a8d2aad042fb573df5055b6153770d0929ac (diff)
Fixed #23395 -- Limited line lengths to 119 characters.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/auth/admin.py6
-rw-r--r--django/contrib/auth/migrations/0001_initial.py38
-rw-r--r--django/contrib/auth/migrations/0004_alter_user_username_opts.py11
-rw-r--r--django/contrib/flatpages/migrations/0001_initial.py12
-rw-r--r--django/contrib/redirects/migrations/0001_initial.py11
-rw-r--r--django/contrib/sessions/migrations/0001_initial.py4
-rw-r--r--django/contrib/sites/migrations/0001_initial.py4
-rw-r--r--django/contrib/sites/migrations/0002_alter_domain_unique.py5
-rw-r--r--django/core/management/commands/inspectdb.py5
-rw-r--r--django/core/serializers/python.py22
-rw-r--r--django/core/serializers/xml_serializer.py19
-rw-r--r--django/db/migrations/autodetector.py12
-rw-r--r--django/db/migrations/loader.py5
-rw-r--r--django/db/models/fields/related.py20
-rw-r--r--django/forms/models.py8
-rw-r--r--django/test/client.py5
-rw-r--r--django/views/debug.py12
17 files changed, 149 insertions, 50 deletions
diff --git a/django/contrib/auth/admin.py b/django/contrib/auth/admin.py
index 4296a703aa..76345e92f5 100644
--- a/django/contrib/auth/admin.py
+++ b/django/contrib/auth/admin.py
@@ -83,7 +83,11 @@ class UserAdmin(admin.ModelAdmin):
def get_urls(self):
return [
- url(r'^(.+)/password/$', self.admin_site.admin_view(self.user_change_password), name='auth_user_password_change'),
+ url(
+ r'^(.+)/password/$',
+ self.admin_site.admin_view(self.user_change_password),
+ name='auth_user_password_change',
+ ),
] + super(UserAdmin, self).get_urls()
def lookup_allowed(self, lookup, value):
diff --git a/django/contrib/auth/migrations/0001_initial.py b/django/contrib/auth/migrations/0001_initial.py
index fcc9d05318..7df5603879 100644
--- a/django/contrib/auth/migrations/0001_initial.py
+++ b/django/contrib/auth/migrations/0001_initial.py
@@ -58,16 +58,42 @@ class Migration(migrations.Migration):
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(default=timezone.now, verbose_name='last login')),
- ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
- ('username', models.CharField(help_text='Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.', unique=True, max_length=30, verbose_name='username', validators=[validators.RegexValidator('^[\\w.@+-]+$', 'Enter a valid username.', 'invalid')])),
+ ('is_superuser', models.BooleanField(
+ default=False,
+ help_text='Designates that this user has all permissions without explicitly assigning them.',
+ verbose_name='superuser status'
+ )),
+ ('username', models.CharField(
+ help_text='Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.', unique=True,
+ max_length=30, verbose_name='username',
+ validators=[validators.RegexValidator('^[\\w.@+-]+$', 'Enter a valid username.', 'invalid')]
+ )),
('first_name', models.CharField(max_length=30, verbose_name='first name', blank=True)),
('last_name', models.CharField(max_length=30, verbose_name='last name', blank=True)),
('email', models.EmailField(max_length=75, verbose_name='email address', blank=True)),
- ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
- ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
+ ('is_staff', models.BooleanField(
+ default=False, help_text='Designates whether the user can log into this admin site.',
+ verbose_name='staff status'
+ )),
+ ('is_active', models.BooleanField(
+ default=True, verbose_name='active', help_text=(
+ 'Designates whether this user should be treated as active. Unselect this instead of deleting '
+ 'accounts.'
+ )
+ )),
('date_joined', models.DateTimeField(default=timezone.now, verbose_name='date joined')),
- ('groups', models.ManyToManyField(to='auth.Group', verbose_name='groups', blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user')),
- ('user_permissions', models.ManyToManyField(to='auth.Permission', verbose_name='user permissions', blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user')),
+ ('groups', models.ManyToManyField(
+ to='auth.Group', verbose_name='groups', blank=True, related_name='user_set',
+ related_query_name='user', help_text=(
+ 'The groups this user belongs to. A user will get all permissions granted to each of their '
+ 'groups.'
+ )
+ )),
+ ('user_permissions', models.ManyToManyField(
+ to='auth.Permission', verbose_name='user permissions', blank=True,
+ help_text='Specific permissions for this user.', related_name='user_set',
+ related_query_name='user')
+ ),
],
options={
'swappable': 'AUTH_USER_MODEL',
diff --git a/django/contrib/auth/migrations/0004_alter_user_username_opts.py b/django/contrib/auth/migrations/0004_alter_user_username_opts.py
index 0f7bfdf3a7..151cda7b74 100644
--- a/django/contrib/auth/migrations/0004_alter_user_username_opts.py
+++ b/django/contrib/auth/migrations/0004_alter_user_username_opts.py
@@ -16,6 +16,15 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='user',
name='username',
- field=models.CharField(error_messages={'unique': 'A user with that username already exists.'}, max_length=30, validators=[django.core.validators.RegexValidator('^[\\w.@+-]+$', 'Enter a valid username. This value may contain only letters, numbers and @/./+/-/_ characters.', 'invalid')], help_text='Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.', unique=True, verbose_name='username'),
+ field=models.CharField(
+ error_messages={'unique': 'A user with that username already exists.'}, max_length=30,
+ validators=[django.core.validators.RegexValidator(
+ '^[\\w.@+-]+$',
+ 'Enter a valid username. This value may contain only letters, numbers and @/./+/-/_ characters.',
+ 'invalid'
+ )],
+ help_text='Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.',
+ unique=True, verbose_name='username'
+ ),
),
]
diff --git a/django/contrib/flatpages/migrations/0001_initial.py b/django/contrib/flatpages/migrations/0001_initial.py
index 3281e54bf6..13e417b41b 100644
--- a/django/contrib/flatpages/migrations/0001_initial.py
+++ b/django/contrib/flatpages/migrations/0001_initial.py
@@ -19,8 +19,16 @@ class Migration(migrations.Migration):
('title', models.CharField(max_length=200, verbose_name='title')),
('content', models.TextField(verbose_name='content', blank=True)),
('enable_comments', models.BooleanField(default=False, verbose_name='enable comments')),
- ('template_name', models.CharField(help_text="Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use 'flatpages/default.html'.", max_length=70, verbose_name='template name', blank=True)),
- ('registration_required', models.BooleanField(default=False, help_text='If this is checked, only logged-in users will be able to view the page.', verbose_name='registration required')),
+ ('template_name', models.CharField(
+ help_text=(
+ "Example: 'flatpages/contact_page.html'. If this isn't provided, the system will use "
+ "'flatpages/default.html'."
+ ), max_length=70, verbose_name='template name', blank=True
+ )),
+ ('registration_required', models.BooleanField(
+ default=False, help_text='If this is checked, only logged-in users will be able to view the page.',
+ verbose_name='registration required'
+ )),
('sites', models.ManyToManyField(to='sites.Site', verbose_name='sites')),
],
options={
diff --git a/django/contrib/redirects/migrations/0001_initial.py b/django/contrib/redirects/migrations/0001_initial.py
index cfd5dcf5a3..905ec266aa 100644
--- a/django/contrib/redirects/migrations/0001_initial.py
+++ b/django/contrib/redirects/migrations/0001_initial.py
@@ -21,8 +21,15 @@ class Migration(migrations.Migration):
on_delete=models.CASCADE,
verbose_name='site',
)),
- ('old_path', models.CharField(help_text="This should be an absolute path, excluding the domain name. Example: '/events/search/'.", max_length=200, verbose_name='redirect from', db_index=True)),
- ('new_path', models.CharField(help_text="This can be either an absolute path (as above) or a full URL starting with 'http://'.", max_length=200, verbose_name='redirect to', blank=True)),
+ ('old_path', models.CharField(
+ help_text=(
+ "This should be an absolute path, excluding the domain name. Example: '/events/search/'."
+ ), max_length=200, verbose_name='redirect from', db_index=True
+ )),
+ ('new_path', models.CharField(
+ help_text="This can be either an absolute path (as above) or a full URL starting with 'http://'.",
+ max_length=200, verbose_name='redirect to', blank=True
+ )),
],
options={
'ordering': ('old_path',),
diff --git a/django/contrib/sessions/migrations/0001_initial.py b/django/contrib/sessions/migrations/0001_initial.py
index 0a4acc9382..e9fd627b79 100644
--- a/django/contrib/sessions/migrations/0001_initial.py
+++ b/django/contrib/sessions/migrations/0001_initial.py
@@ -14,7 +14,9 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='Session',
fields=[
- ('session_key', models.CharField(max_length=40, serialize=False, verbose_name='session key', primary_key=True)),
+ ('session_key', models.CharField(
+ max_length=40, serialize=False, verbose_name='session key', primary_key=True
+ )),
('session_data', models.TextField(verbose_name='session data')),
('expire_date', models.DateTimeField(verbose_name='expire date', db_index=True)),
],
diff --git a/django/contrib/sites/migrations/0001_initial.py b/django/contrib/sites/migrations/0001_initial.py
index 84ad0cd408..b1803682ae 100644
--- a/django/contrib/sites/migrations/0001_initial.py
+++ b/django/contrib/sites/migrations/0001_initial.py
@@ -15,7 +15,9 @@ class Migration(migrations.Migration):
name='Site',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
- ('domain', models.CharField(max_length=100, verbose_name='domain name', validators=[_simple_domain_name_validator])),
+ ('domain', models.CharField(
+ max_length=100, verbose_name='domain name', validators=[_simple_domain_name_validator]
+ )),
('name', models.CharField(max_length=50, verbose_name='display name')),
],
options={
diff --git a/django/contrib/sites/migrations/0002_alter_domain_unique.py b/django/contrib/sites/migrations/0002_alter_domain_unique.py
index e7f414fb5c..468718cde3 100644
--- a/django/contrib/sites/migrations/0002_alter_domain_unique.py
+++ b/django/contrib/sites/migrations/0002_alter_domain_unique.py
@@ -15,6 +15,9 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='site',
name='domain',
- field=models.CharField(max_length=100, unique=True, validators=[django.contrib.sites.models._simple_domain_name_validator], verbose_name='domain name'),
+ field=models.CharField(
+ max_length=100, unique=True, validators=[django.contrib.sites.models._simple_domain_name_validator],
+ verbose_name='domain name'
+ ),
),
]
diff --git a/django/core/management/commands/inspectdb.py b/django/core/management/commands/inspectdb.py
index 3e0a9e5df3..9b9e350f4b 100644
--- a/django/core/management/commands/inspectdb.py
+++ b/django/core/management/commands/inspectdb.py
@@ -92,7 +92,10 @@ class Command(BaseCommand):
extra_params['unique'] = True
if is_relation:
- rel_to = "self" if relations[column_name][1] == table_name else table2model(relations[column_name][1])
+ rel_to = (
+ "self" if relations[column_name][1] == table_name
+ else table2model(relations[column_name][1])
+ )
if rel_to in known_models:
field_type = 'ForeignKey(%s' % rel_to
else:
diff --git a/django/core/serializers/python.py b/django/core/serializers/python.py
index ff506d50cb..b64169bb62 100644
--- a/django/core/serializers/python.py
+++ b/django/core/serializers/python.py
@@ -124,14 +124,15 @@ def Deserializer(object_list, **options):
# Handle M2M relations
if field.remote_field and isinstance(field.remote_field, models.ManyToManyRel):
- if hasattr(field.remote_field.model._default_manager, 'get_by_natural_key'):
+ model = field.remote_field.model
+ if hasattr(model._default_manager, 'get_by_natural_key'):
def m2m_convert(value):
if hasattr(value, '__iter__') and not isinstance(value, six.text_type):
- return field.remote_field.model._default_manager.db_manager(db).get_by_natural_key(*value).pk
+ return model._default_manager.db_manager(db).get_by_natural_key(*value).pk
else:
- return force_text(field.remote_field.model._meta.pk.to_python(value), strings_only=True)
+ return force_text(model._meta.pk.to_python(value), strings_only=True)
else:
- m2m_convert = lambda v: force_text(field.remote_field.model._meta.pk.to_python(v), strings_only=True)
+ m2m_convert = lambda v: force_text(model._meta.pk.to_python(v), strings_only=True)
try:
m2m_data[field.name] = []
@@ -142,21 +143,24 @@ def Deserializer(object_list, **options):
# Handle FK fields
elif field.remote_field and isinstance(field.remote_field, models.ManyToOneRel):
+ model = field.remote_field.model
if field_value is not None:
try:
- if hasattr(field.remote_field.model._default_manager, 'get_by_natural_key'):
+ default_manager = model._default_manager
+ field_name = field.remote_field.field_name
+ if hasattr(default_manager, 'get_by_natural_key'):
if hasattr(field_value, '__iter__') and not isinstance(field_value, six.text_type):
- obj = field.remote_field.model._default_manager.db_manager(db).get_by_natural_key(*field_value)
+ obj = default_manager.db_manager(db).get_by_natural_key(*field_value)
value = getattr(obj, field.remote_field.field_name)
# If this is a natural foreign key to an object that
# has a FK/O2O as the foreign key, use the FK value
- if field.remote_field.model._meta.pk.remote_field:
+ if model._meta.pk.remote_field:
value = value.pk
else:
- value = field.remote_field.model._meta.get_field(field.remote_field.field_name).to_python(field_value)
+ value = model._meta.get_field(field_name).to_python(field_value)
data[field.attname] = value
else:
- data[field.attname] = field.remote_field.model._meta.get_field(field.remote_field.field_name).to_python(field_value)
+ data[field.attname] = model._meta.get_field(field_name).to_python(field_value)
except Exception as e:
raise base.DeserializationError.WithData(e, d['model'], d.get('pk'), field_value)
else:
diff --git a/django/core/serializers/xml_serializer.py b/django/core/serializers/xml_serializer.py
index 9bddda46da..44d745d55d 100644
--- a/django/core/serializers/xml_serializer.py
+++ b/django/core/serializers/xml_serializer.py
@@ -236,12 +236,13 @@ class Deserializer(base.Deserializer):
if node.getElementsByTagName('None'):
return None
else:
- if hasattr(field.remote_field.model._default_manager, 'get_by_natural_key'):
+ model = field.remote_field.model
+ if hasattr(model._default_manager, 'get_by_natural_key'):
keys = node.getElementsByTagName('natural')
if keys:
# If there are 'natural' subelements, it must be a natural key
field_value = [getInnerText(k).strip() for k in keys]
- obj = field.remote_field.model._default_manager.db_manager(self.db).get_by_natural_key(*field_value)
+ obj = model._default_manager.db_manager(self.db).get_by_natural_key(*field_value)
obj_pk = getattr(obj, field.remote_field.field_name)
# If this is a natural foreign key to an object that
# has a FK/O2O as the foreign key, use the FK value
@@ -250,29 +251,31 @@ class Deserializer(base.Deserializer):
else:
# Otherwise, treat like a normal PK
field_value = getInnerText(node).strip()
- obj_pk = field.remote_field.model._meta.get_field(field.remote_field.field_name).to_python(field_value)
+ obj_pk = model._meta.get_field(field.remote_field.field_name).to_python(field_value)
return obj_pk
else:
field_value = getInnerText(node).strip()
- return field.remote_field.model._meta.get_field(field.remote_field.field_name).to_python(field_value)
+ return model._meta.get_field(field.remote_field.field_name).to_python(field_value)
def _handle_m2m_field_node(self, node, field):
"""
Handle a <field> node for a ManyToManyField.
"""
- if hasattr(field.remote_field.model._default_manager, 'get_by_natural_key'):
+ model = field.remote_field.model
+ default_manager = model._default_manager
+ if hasattr(default_manager, 'get_by_natural_key'):
def m2m_convert(n):
keys = n.getElementsByTagName('natural')
if keys:
# If there are 'natural' subelements, it must be a natural key
field_value = [getInnerText(k).strip() for k in keys]
- obj_pk = field.remote_field.model._default_manager.db_manager(self.db).get_by_natural_key(*field_value).pk
+ obj_pk = default_manager.db_manager(self.db).get_by_natural_key(*field_value).pk
else:
# Otherwise, treat like a normal PK value.
- obj_pk = field.remote_field.model._meta.pk.to_python(n.getAttribute('pk'))
+ obj_pk = model._meta.pk.to_python(n.getAttribute('pk'))
return obj_pk
else:
- m2m_convert = lambda n: field.remote_field.model._meta.pk.to_python(n.getAttribute('pk'))
+ m2m_convert = lambda n: model._meta.pk.to_python(n.getAttribute('pk'))
return [m2m_convert(c) for c in node.getElementsByTagName("object")]
def _get_model_from_node(self, node, attr):
diff --git a/django/db/migrations/autodetector.py b/django/db/migrations/autodetector.py
index b2181818ea..513bb543d1 100644
--- a/django/db/migrations/autodetector.py
+++ b/django/db/migrations/autodetector.py
@@ -468,7 +468,11 @@ class MigrationAutodetector(object):
)
)
self.renamed_models[app_label, model_name] = rem_model_name
- self.renamed_models_rel['%s.%s' % (rem_model_state.app_label, rem_model_state.name)] = '%s.%s' % (model_state.app_label, model_state.name)
+ renamed_models_rel_key = '%s.%s' % (rem_model_state.app_label, rem_model_state.name)
+ self.renamed_models_rel[renamed_models_rel_key] = '%s.%s' % (
+ model_state.app_label,
+ model_state.name,
+ )
self.old_model_keys.remove((rem_app_label, rem_model_name))
self.old_model_keys.append((app_label, model_name))
break
@@ -505,7 +509,8 @@ class MigrationAutodetector(object):
related_fields[field.name] = field
# through will be none on M2Ms on swapped-out models;
# we can treat lack of through as auto_created=True, though.
- if getattr(field.remote_field, "through", None) and not field.remote_field.through._meta.auto_created:
+ if (getattr(field.remote_field, "through", None)
+ and not field.remote_field.through._meta.auto_created):
related_fields[field.name] = field
for field in model_opts.local_many_to_many:
if field.remote_field.model:
@@ -681,7 +686,8 @@ class MigrationAutodetector(object):
related_fields[field.name] = field
# through will be none on M2Ms on swapped-out models;
# we can treat lack of through as auto_created=True, though.
- if getattr(field.remote_field, "through", None) and not field.remote_field.through._meta.auto_created:
+ if (getattr(field.remote_field, "through", None)
+ and not field.remote_field.through._meta.auto_created):
related_fields[field.name] = field
for field in model._meta.local_many_to_many:
if field.remote_field.model:
diff --git a/django/db/migrations/loader.py b/django/db/migrations/loader.py
index 93aa8e61f7..fac33c3ce7 100644
--- a/django/db/migrations/loader.py
+++ b/django/db/migrations/loader.py
@@ -119,7 +119,10 @@ class MigrationLoader(object):
if hasattr(migration_module.Migration, "forwards"):
south_style_migrations = True
break
- self.disk_migrations[app_config.label, migration_name] = migration_module.Migration(migration_name, app_config.label)
+ self.disk_migrations[app_config.label, migration_name] = migration_module.Migration(
+ migration_name,
+ app_config.label,
+ )
if south_style_migrations:
self.unmigrated_apps.add(app_config.label)
diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py
index 609d262127..2e2ec38335 100644
--- a/django/db/models/fields/related.py
+++ b/django/db/models/fields/related.py
@@ -346,7 +346,10 @@ class RelatedField(Field):
return None
def set_attributes_from_rel(self):
- self.name = self.name or (self.remote_field.model._meta.model_name + '_' + self.remote_field.model._meta.pk.name)
+ self.name = (
+ self.name or
+ (self.remote_field.model._meta.model_name + '_' + self.remote_field.model._meta.pk.name)
+ )
if self.verbose_name is None:
self.verbose_name = self.remote_field.model._meta.verbose_name
self.remote_field.set_field_name()
@@ -830,7 +833,9 @@ def create_foreign_related_manager(superclass, rel):
if self.field.get_local_related_value(obj) == val:
old_ids.add(obj.pk)
else:
- raise self.field.remote_field.model.DoesNotExist("%r is not related to %r." % (obj, self.instance))
+ raise self.field.remote_field.model.DoesNotExist(
+ "%r is not related to %r." % (obj, self.instance)
+ )
self._clear(self.filter(pk__in=old_ids), bulk)
remove.alters_data = True
@@ -955,7 +960,8 @@ def create_many_related_manager(superclass, rel, reverse):
self.core_filters = {}
for lh_field, rh_field in self.source_field.related_fields:
- self.core_filters['%s__%s' % (self.query_field_name, rh_field.name)] = getattr(instance, rh_field.attname)
+ core_filter_key = '%s__%s' % (self.query_field_name, rh_field.name)
+ self.core_filters[core_filter_key] = getattr(instance, rh_field.attname)
self.related_val = self.source_field.get_foreign_related_value(instance)
if None in self.related_val:
@@ -1688,7 +1694,10 @@ class ForeignObject(RelatedField):
if isinstance(self.remote_field.model, six.string_types):
kwargs['to'] = self.remote_field.model
else:
- kwargs['to'] = "%s.%s" % (self.remote_field.model._meta.app_label, self.remote_field.model._meta.object_name)
+ kwargs['to'] = "%s.%s" % (
+ self.remote_field.model._meta.app_label,
+ self.remote_field.model._meta.object_name,
+ )
# If swappable is True, then see if we're actually pointing to the target
# of a swap.
swappable_setting = self.swappable_setting
@@ -1999,7 +2008,8 @@ class ForeignKey(ForeignObject):
kwargs['db_constraint'] = self.db_constraint
# Rel needs more work.
to_meta = getattr(self.remote_field.model, "_meta", None)
- if self.remote_field.field_name and (not to_meta or (to_meta.pk and self.remote_field.field_name != to_meta.pk.name)):
+ if self.remote_field.field_name and (
+ not to_meta or (to_meta.pk and self.remote_field.field_name != to_meta.pk.name)):
kwargs['to_field'] = self.remote_field.field_name
return name, path, args, kwargs
diff --git a/django/forms/models.py b/django/forms/models.py
index 651749a356..0fba08855f 100644
--- a/django/forms/models.py
+++ b/django/forms/models.py
@@ -788,8 +788,12 @@ class BaseModelFormSet(BaseFormSet):
# True, so check for that as well.
def pk_is_not_editable(pk):
- return ((not pk.editable) or (pk.auto_created or isinstance(pk, AutoField))
- or (pk.remote_field and pk.remote_field.parent_link and pk_is_not_editable(pk.remote_field.model._meta.pk)))
+ return (
+ (not pk.editable) or (pk.auto_created or isinstance(pk, AutoField)) or (
+ pk.remote_field and pk.remote_field.parent_link
+ and pk_is_not_editable(pk.remote_field.model._meta.pk)
+ )
+ )
if pk_is_not_editable(pk) or pk.name not in form.fields:
if form.is_bound:
# If we're adding the related instance, ignore its primary key
diff --git a/django/test/client.py b/django/test/client.py
index 8d46ea629a..a1ee223fdb 100644
--- a/django/test/client.py
+++ b/django/test/client.py
@@ -655,7 +655,10 @@ class Client(RequestFactory):
def _parse_json(self, response, **extra):
if 'application/json' not in response.get('Content-Type'):
- raise ValueError('Content-Type header is "{0}", not "application/json"'.format(response.get('Content-Type')))
+ raise ValueError(
+ 'Content-Type header is "{0}", not "application/json"'
+ .format(response.get('Content-Type'))
+ )
return json.loads(response.content.decode(), **extra)
def _handle_redirects(self, response, **extra):
diff --git a/django/views/debug.py b/django/views/debug.py
index 55357b3344..b6201ab54a 100644
--- a/django/views/debug.py
+++ b/django/views/debug.py
@@ -862,12 +862,12 @@ Installed Middleware:
{% if postmortem %}Django tried loading these templates, in this order:
{% for entry in postmortem %}
Using engine {{ entry.backend.name }}:
-{% if entry.tried %}{% for attempt in entry.tried %} * {{ attempt.0.loader_name }}: {{ attempt.0.name }} ({{ attempt.1 }})
+{% if entry.tried %}{% for attempt in entry.tried %}"""
+""" * {{ attempt.0.loader_name }}: {{ attempt.0.name }} ({{ attempt.1 }})
{% endfor %}{% else %} This engine did not provide a list of tried templates.
{% endif %}{% endfor %}
{% else %}No templates were found because your 'TEMPLATES' setting is not configured.
-{% endif %}
-{% endif %}{% if template_info %}
+{% endif %}{% endif %}{% if template_info %}
Template error:
In template {{ template_info.name }}, error at line {{ template_info.line }}
{{ template_info.message }}"""
@@ -1044,7 +1044,8 @@ Exception Value: {{ exception_value|force_escape }}
</html>
""")
-TECHNICAL_500_TEXT_TEMPLATE = ("""{% firstof exception_type 'Report' %}{% if request %} at {{ request.path_info }}{% endif %}
+TECHNICAL_500_TEXT_TEMPLATE = (""""""
+"""{% firstof exception_type 'Report' %}{% if request %} at {{ request.path_info }}{% endif %}
{% firstof exception_value 'No exception message supplied' %}
{% if request %}
Request Method: {{ request.META.REQUEST_METHOD }}
@@ -1062,7 +1063,8 @@ Installed Middleware:
{% if postmortem %}Django tried loading these templates, in this order:
{% for entry in postmortem %}
Using engine {{ entry.backend.name }}:
-{% if entry.tried %}{% for attempt in entry.tried %} * {{ attempt.0.loader_name }}: {{ attempt.0.name }} ({{ attempt.1 }})
+{% if entry.tried %}{% for attempt in entry.tried %}"""
+""" * {{ attempt.0.loader_name }}: {{ attempt.0.name }} ({{ attempt.1 }})
{% endfor %}{% else %} This engine did not provide a list of tried templates.
{% endif %}{% endfor %}
{% else %}No templates were found because your 'TEMPLATES' setting is not configured.