Something In Django I Actually Don't Like
@ 2008-09-11 23:10:22
Filed under: Code Django Python Tech
A while back I submitted a patch to get the newforms code closer to the offical style guide for python (AKA pep8). For the heck of it I decided to see how the code in django falls in line with the the guide. Being an avid pythonista this made me nearly cry (note that the numbers shown are the minimum issues, so even though the number might be 2 it's possible that there is really more issues that would be found) ...
Here are the results ....
It's not terrible, but it could become bad over time if people end up moving away towards personal coding styles rather than Django's style which is based off of pep8.
digg it
seed it
del.icio.us
ma.gnolia
Filed under: Code Django Python Tech
A while back I submitted a patch to get the newforms code closer to the offical style guide for python (AKA pep8). For the heck of it I decided to see how the code in django falls in line with the the guide. Being an avid pythonista this made me nearly cry (note that the numbers shown are the minimum issues, so even though the number might be 2 it's possible that there is really more issues that would be found) ...
[steve@tachikoman django]$ for PY in `find . -name "*py"`; do
echo "$PY:" `pep8.py $PY | wc -l` >> /tmp/django-style.txt;
done
[steve@tachikoman django]$ grep -v ": 0" /tmp/django-style.txt | wc -l
474
[steve@tachikoman django]$
Here are the results ....
./django/views/static.py: 4 ./django/views/debug.py: 6 ./django/views/defaults.py: 2 ./django/views/i18n.py: 4 ./django/views/generic/create_update.py: 4 ./django/views/generic/simple.py: 3 ./django/views/generic/date_based.py: 5 ./django/views/generic/list_detail.py: 4 ./django/views/decorators/cache.py: 2 ./django/views/decorators/http.py: 4 ./django/views/decorators/vary.py: 3 ./django/contrib/comments/views/comments.py: 6 ./django/contrib/comments/views/karma.py: 4 ./django/contrib/comments/views/userflags.py: 4 ./django/contrib/comments/feeds.py: 2 ./django/contrib/comments/templatetags/comments.py: 4 ./django/contrib/comments/models.py: 3 ./django/contrib/comments/tests.py: 2 ./django/contrib/sites/managers.py: 4 ./django/contrib/sites/management.py: 2 ./django/contrib/sites/models.py: 5 ./django/contrib/csrf/middleware.py: 5 ./django/contrib/sessions/backends/cache.py: 1 ./django/contrib/sessions/backends/file.py: 1 ./django/contrib/sessions/backends/base.py: 2 ./django/contrib/sessions/backends/db.py: 2 ./django/contrib/sessions/middleware.py: 1 ./django/contrib/sessions/models.py: 2 ./django/contrib/sessions/tests.py: 2 ./django/contrib/humanize/templatetags/humanize.py: 3 ./django/contrib/syndication/feeds.py: 5 ./django/contrib/syndication/views.py: 3 ./django/contrib/sitemaps/__init__.py: 7 ./django/contrib/sitemaps/views.py: 2 ./django/contrib/flatpages/middleware.py: 3 ./django/contrib/flatpages/models.py: 2 ./django/contrib/flatpages/views.py: 2 ./django/contrib/markup/templatetags/markup.py: 3 ./django/contrib/markup/tests.py: 3 ./django/contrib/auth/management/__init__.py: 3 ./django/contrib/auth/management/commands/createsuperuser.py: 3 ./django/contrib/auth/handlers/modpython.py: 3 ./django/contrib/auth/forms.py: 3 ./django/contrib/auth/middleware.py: 3 ./django/contrib/auth/__init__.py: 3 ./django/contrib/auth/decorators.py: 5 ./django/contrib/auth/models.py: 4 ./django/contrib/auth/backends.py: 7 ./django/contrib/auth/views.py: 2 ./django/contrib/auth/tests.py: 2 ./django/contrib/formtools/wizard.py: 3 ./django/contrib/formtools/preview.py: 2 ./django/contrib/formtools/models.py: 1 ./django/contrib/formtools/tests.py: 2 ./django/contrib/webdesign/templatetags/webdesign.py: 3 ./django/contrib/webdesign/lorem_ipsum.py: 2 ./django/contrib/webdesign/tests.py: 1 ./django/contrib/admin/views/doc.py: 6 ./django/contrib/admin/views/decorators.py: 6 ./django/contrib/admin/views/main.py: 8 ./django/contrib/admin/views/auth.py: 2 ./django/contrib/admin/views/template.py: 3 ./django/contrib/admin/urls.py: 1 ./django/contrib/admin/utils.py: 6 ./django/contrib/admin/templatetags/admin_modify.py: 6 ./django/contrib/admin/templatetags/adminapplist.py: 4 ./django/contrib/admin/templatetags/adminmedia.py: 1 ./django/contrib/admin/templatetags/admin_list.py: 5 ./django/contrib/admin/templatetags/log.py: 3 ./django/contrib/admin/filterspecs.py: 4 ./django/contrib/admin/models.py: 4 ./django/contrib/contenttypes/management.py: 2 ./django/contrib/contenttypes/models.py: 4 ./django/contrib/contenttypes/generic.py: 6 ./django/contrib/contenttypes/tests.py: 3 ./django/contrib/localflavor/uk/uk_regions.py: 2 ./django/contrib/localflavor/uk/forms.py: 3 ./django/contrib/localflavor/pl/forms.py: 5 ./django/contrib/localflavor/pl/pl_voivodeships.py: 1 ./django/contrib/localflavor/pl/pl_administrativeunits.py: 2 ./django/contrib/localflavor/nl/forms.py: 2 ./django/contrib/localflavor/fi/forms.py: 3 ./django/contrib/localflavor/fi/fi_municipalities.py: 1 ./django/contrib/localflavor/ca/forms.py: 4 ./django/contrib/localflavor/ca/ca_provinces.py: 3 ./django/contrib/localflavor/sk/sk_districts.py: 1 ./django/contrib/localflavor/sk/forms.py: 2 ./django/contrib/localflavor/sk/sk_regions.py: 1 ./django/contrib/localflavor/cl/cl_regions.py: 2 ./django/contrib/localflavor/cl/forms.py: 5 ./django/contrib/localflavor/za/forms.py: 2 ./django/contrib/localflavor/es/es_regions.py: 1 ./django/contrib/localflavor/es/forms.py: 5 ./django/contrib/localflavor/es/es_provinces.py: 1 ./django/contrib/localflavor/ch/forms.py: 5 ./django/contrib/localflavor/ch/ch_states.py: 1 ./django/contrib/localflavor/de/forms.py: 3 ./django/contrib/localflavor/it/forms.py: 3 ./django/contrib/localflavor/it/util.py: 3 ./django/contrib/localflavor/jp/jp_prefectures.py: 1 ./django/contrib/localflavor/jp/forms.py: 2 ./django/contrib/localflavor/ar/forms.py: 4 ./django/contrib/localflavor/us/forms.py: 3 ./django/contrib/localflavor/pe/forms.py: 4 ./django/contrib/localflavor/is_/is_postalcodes.py: 1 ./django/contrib/localflavor/is_/forms.py: 5 ./django/contrib/localflavor/no/forms.py: 5 ./django/contrib/localflavor/no/no_municipalities.py: 1 ./django/contrib/localflavor/in_/forms.py: 3 ./django/contrib/localflavor/in_/in_states.py: 1 ./django/contrib/localflavor/generic/forms.py: 3 ./django/contrib/localflavor/mx/forms.py: 3 ./django/contrib/localflavor/mx/mx_states.py: 1 ./django/contrib/localflavor/au/forms.py: 2 ./django/contrib/localflavor/fr/forms.py: 4 ./django/contrib/localflavor/br/forms.py: 3 ./django/contrib/redirects/middleware.py: 3 ./django/contrib/redirects/models.py: 3 ./django/contrib/databrowse/urls.py: 1 ./django/contrib/databrowse/plugins/calendars.py: 4 ./django/contrib/databrowse/plugins/objects.py: 3 ./django/contrib/databrowse/plugins/fieldchoices.py: 4 ./django/contrib/databrowse/__init__.py: 1 ./django/contrib/databrowse/datastructures.py: 3 ./django/contrib/databrowse/sites.py: 3 ./django/contrib/databrowse/views.py: 2 ./django/conf/project_template/manage.py: 1 ./django/conf/project_template/settings.py: 1 ./django/conf/urls/defaults.py: 3 ./django/conf/global_settings.py: 3 ./django/conf/__init__.py: 6 ./django/shortcuts/__init__.py: 2 ./django/__init__.py: 1 ./django/oldforms/__init__.py: 7 ./django/http/utils.py: 2 ./django/http/__init__.py: 6 ./django/templatetags/cache.py: 4 ./django/templatetags/i18n.py: 4 ./django/test/utils.py: 5 ./django/test/testcases.py: 5 ./django/test/_doctest.py: 10 ./django/test/signals.py: 1 ./django/test/simple.py: 3 ./django/test/client.py: 9 ./django/dispatch/dispatcher.py: 10 ./django/dispatch/__init__.py: 1 ./django/dispatch/saferef.py: 9 ./django/dispatch/robust.py: 4 ./django/dispatch/errors.py: 2 ./django/dispatch/robustapply.py: 5 ./django/db/backends/postgresql_psycopg2/introspection.py: 2 ./django/db/backends/postgresql_psycopg2/base.py: 3 ./django/db/backends/sqlite3/introspection.py: 4 ./django/db/backends/sqlite3/creation.py: 2 ./django/db/backends/sqlite3/base.py: 7 ./django/db/backends/sqlite3/client.py: 1 ./django/db/backends/__init__.py: 3 ./django/db/backends/oracle/introspection.py: 2 ./django/db/backends/oracle/creation.py: 7 ./django/db/backends/oracle/base.py: 5 ./django/db/backends/oracle/query.py: 4 ./django/db/backends/oracle/client.py: 1 ./django/db/backends/postgresql/introspection.py: 2 ./django/db/backends/postgresql/operations.py: 4 ./django/db/backends/postgresql/creation.py: 2 ./django/db/backends/postgresql/base.py: 4 ./django/db/backends/postgresql/client.py: 1 ./django/db/backends/util.py: 4 ./django/db/backends/mysql/introspection.py: 2 ./django/db/backends/mysql/creation.py: 2 ./django/db/backends/mysql/base.py: 4 ./django/db/backends/mysql/client.py: 3 ./django/db/backends/mysql_old/introspection.py: 2 ./django/db/backends/mysql_old/creation.py: 2 ./django/db/backends/mysql_old/base.py: 3 ./django/db/backends/mysql_old/client.py: 1 ./django/db/backends/dummy/base.py: 3 ./django/db/__init__.py: 3 ./django/db/models/fields/related.py: 6 ./django/db/models/fields/__init__.py: 6 ./django/db/models/fields/proxy.py: 2 ./django/db/models/fields/subclassing.py: 5 ./django/db/models/related.py: 4 ./django/db/models/__init__.py: 3 ./django/db/models/loading.py: 3 ./django/db/models/options.py: 6 ./django/db/models/base.py: 7 ./django/db/models/query.py: 8 ./django/db/models/manager.py: 4 ./django/db/models/manipulators.py: 4 ./django/db/models/sql/subqueries.py: 4 ./django/db/models/sql/__init__.py: 1 ./django/db/models/sql/query.py: 4 ./django/db/models/sql/datastructures.py: 3 ./django/db/models/sql/where.py: 4 ./django/db/models/sql/constants.py: 1 ./django/db/models/query_utils.py: 3 ./django/db/transaction.py: 4 ./django/newforms/widgets.py: 6 ./django/newforms/forms.py: 3 ./django/newforms/extras/widgets.py: 3 ./django/newforms/fields.py: 4 ./django/newforms/util.py: 4 ./django/newforms/models.py: 6 ./django/utils/timesince.py: 3 ./django/utils/cache.py: 3 ./django/utils/http.py: 3 ./django/utils/tree.py: 2 ./django/utils/_decimal.py: 11 ./django/utils/autoreload.py: 3 ./django/utils/functional.py: 4 ./django/utils/daemonize.py: 2 ./django/utils/termcolors.py: 2 ./django/utils/_threading_local.py: 2 ./django/utils/feedgenerator.py: 4 ./django/utils/decorators.py: 4 ./django/utils/maxlength.py: 3 ./django/utils/text.py: 11 ./django/utils/images.py: 1 ./django/utils/safestring.py: 4 ./django/utils/translation/__init__.py: 1 ./django/utils/translation/trans_null.py: 3 ./django/utils/translation/trans_real.py: 6 ./django/utils/synch.py: 4 ./django/utils/datastructures.py: 5 ./django/utils/tzinfo.py: 4 ./django/utils/html.py: 4 ./django/utils/stopwords.py: 2 ./django/utils/checksums.py: 2 ./django/utils/simplejson/encoder.py: 4 ./django/utils/simplejson/scanner.py: 4 ./django/utils/simplejson/__init__.py: 4 ./django/utils/simplejson/jsonfilter.py: 2 ./django/utils/simplejson/decoder.py: 3 ./django/utils/dates.py: 3 ./django/utils/encoding.py: 5 ./django/utils/_os.py: 1 ./django/utils/xmlutils.py: 3 ./django/utils/version.py: 2 ./django/utils/itercompat.py: 4 ./django/utils/dateformat.py: 4 ./django/template/defaulttags.py: 6 ./django/template/debug.py: 5 ./django/template/__init__.py: 9 ./django/template/defaultfilters.py: 4 ./django/template/loader_tags.py: 5 ./django/template/loaders/filesystem.py: 3 ./django/template/loaders/app_directories.py: 3 ./django/template/loaders/eggs.py: 3 ./django/template/loader.py: 4 ./django/template/context.py: 3 ./django/bin/daily_cleanup.py: 1 ./django/bin/unique-messages.py: 2 ./django/bin/profiling/gather_profile_stats.py: 3 ./django/bin/make-messages.py: 3 ./django/bin/compile-messages.py: 2 ./django/core/management/__init__.py: 4 ./django/core/management/commands/validate.py: 1 ./django/core/management/commands/sqlflush.py: 2 ./django/core/management/commands/runfcgi.py: 2 ./django/core/management/commands/sqlreset.py: 2 ./django/core/management/commands/dbshell.py: 1 ./django/core/management/commands/sqlindexes.py: 2 ./django/core/management/commands/adminindex.py: 2 ./django/core/management/commands/sqlsequencereset.py: 2 ./django/core/management/commands/runserver.py: 2 ./django/core/management/commands/dumpdata.py: 4 ./django/core/management/commands/startapp.py: 2 ./django/core/management/commands/sqlall.py: 2 ./django/core/management/commands/loaddata.py: 3 ./django/core/management/commands/syncdb.py: 2 ./django/core/management/commands/sqlclear.py: 1 ./django/core/management/commands/inspectdb.py: 2 ./django/core/management/commands/reset.py: 2 ./django/core/management/commands/sqlcustom.py: 2 ./django/core/management/commands/flush.py: 2 ./django/core/management/commands/createcachetable.py: 2 ./django/core/management/commands/diffsettings.py: 2 ./django/core/management/commands/sql.py: 1 ./django/core/management/commands/shell.py: 3 ./django/core/management/commands/sqlinitialdata.py: 2 ./django/core/management/commands/test.py: 3 ./django/core/management/commands/startproject.py: 2 ./django/core/management/commands/testserver.py: 3 ./django/core/management/color.py: 4 ./django/core/management/base.py: 2 ./django/core/management/sql.py: 5 ./django/core/management/validation.py: 4 ./django/core/handlers/profiler-hotshot.py: 3 ./django/core/handlers/base.py: 4 ./django/core/handlers/wsgi.py: 4 ./django/core/handlers/modpython.py: 6 ./django/core/paginator.py: 3 ./django/core/xheaders.py: 2 ./django/core/context_processors.py: 3 ./django/core/mail.py: 4 ./django/core/serializers/__init__.py: 4 ./django/core/serializers/xml_serializer.py: 7 ./django/core/serializers/json.py: 4 ./django/core/serializers/base.py: 2 ./django/core/serializers/python.py: 6 ./django/core/serializers/pyyaml.py: 4 ./django/core/cache/backends/base.py: 2 ./django/core/cache/backends/filebased.py: 9 ./django/core/cache/backends/memcached.py: 4 ./django/core/cache/backends/dummy.py: 2 ./django/core/cache/backends/db.py: 4 ./django/core/cache/backends/locmem.py: 3 ./django/core/cache/__init__.py: 4 ./django/core/servers/fastcgi.py: 4 ./django/core/servers/basehttp.py: 8 ./django/core/exceptions.py: 2 ./django/core/validators.py: 11 ./django/core/urlresolvers.py: 6 ./django/middleware/cache.py: 3 ./django/middleware/http.py: 3 ./django/middleware/doc.py: 3 ./django/middleware/locale.py: 2 ./django/middleware/common.py: 4 ./django/middleware/gzip.py: 3 ./django/middleware/transaction.py: 2 ./setup.py: 3 ./tests/urls.py: 1 ./tests/runtests.py: 6 ./tests/modeltests/model_inheritance/models.py: 3 ./tests/modeltests/custom_methods/models.py: 3 ./tests/modeltests/one_to_one/models.py: 3 ./tests/modeltests/many_to_one/models.py: 4 ./tests/modeltests/properties/models.py: 2 ./tests/modeltests/invalid_models/__init__.py: 1 ./tests/modeltests/invalid_models/models.py: 3 ./tests/modeltests/manipulators/models.py: 3 ./tests/modeltests/manipulators/models.py: 3 ./tests/modeltests/get_object_or_404/models.py: 5 ./tests/modeltests/m2o_recursive/models.py: 3 ./tests/modeltests/or_lookups/models.py: 4 ./tests/modeltests/generic_relations/models.py: 3 ./tests/modeltests/choices/models.py: 2 ./tests/modeltests/serializers/models.py: 5 ./tests/modeltests/m2m_and_m2o/models.py: 3 ./tests/modeltests/update/models.py: 3 ./tests/modeltests/m2m_multiple/models.py: 5 ./tests/modeltests/lookup/models.py: 4 ./tests/modeltests/order_with_respect_to/models.py: 3 ./tests/modeltests/custom_pk/models.py: 4 ./tests/modeltests/ordering/models.py: 4 ./tests/modeltests/pagination/models.py: 3 ./tests/modeltests/select_related/models.py: 5 ./tests/modeltests/m2m_intermediary/models.py: 2 ./tests/modeltests/reverse_lookup/models.py: 3 ./tests/modeltests/model_forms/models.py: 2 ./tests/modeltests/custom_columns/models.py: 4 ./tests/modeltests/many_to_one_null/models.py: 2 ./tests/modeltests/signals/models.py: 3 ./tests/modeltests/mutually_referential/models.py: 3 ./tests/modeltests/user_commands/management/commands/dance.py: 2 ./tests/modeltests/user_commands/models.py: 1 ./tests/modeltests/transactions/models.py: 3 ./tests/modeltests/get_or_create/models.py: 3 ./tests/modeltests/validation/models.py: 3 ./tests/modeltests/empty/models.py: 2 ./tests/modeltests/fixtures/__init__.py: 1 ./tests/modeltests/fixtures/models.py: 2 ./tests/modeltests/delete/__init__.py: 1 ./tests/modeltests/delete/models.py: 5 ./tests/modeltests/many_to_many/models.py: 3 ./tests/modeltests/field_subclassing/models.py: 3 ./tests/modeltests/custom_managers/models.py: 4 ./tests/modeltests/m2o_recursive2/models.py: 3 ./tests/modeltests/field_defaults/models.py: 3 ./tests/modeltests/str/models.py: 3 ./tests/modeltests/test_client/urls.py: 2 ./tests/modeltests/test_client/models.py: 5 ./tests/modeltests/test_client/views.py: 7 ./tests/modeltests/test_client/tests.py: 3 ./tests/modeltests/save_delete_hooks/models.py: 2 ./tests/modeltests/basic/models.py: 3 ./tests/modeltests/reserved_names/models.py: 5 ./tests/modeltests/get_latest/models.py: 4 ./tests/modeltests/m2m_recursive/models.py: 3 ./tests/regressiontests/views/urls.py: 5 ./tests/regressiontests/views/models.py: 3 ./tests/regressiontests/views/tests/static.py: 4 ./tests/regressiontests/views/tests/__init__.py: 1 ./tests/regressiontests/views/tests/defaults.py: 3 ./tests/regressiontests/views/tests/i18n.py: 2 ./tests/regressiontests/views/tests/generic/date_based.py: 7 ./tests/regressiontests/views/views.py: 1 ./tests/regressiontests/model_inheritance_select_related/models.py: 4 ./tests/regressiontests/backends/models.py: 2 ./tests/regressiontests/db_typecasts/tests.py: 5 ./tests/regressiontests/bug639/models.py: 6 ./tests/regressiontests/bug639/tests.py: 5 ./tests/regressiontests/datatypes/models.py: 3 ./tests/regressiontests/humanize/tests.py: 4 ./tests/regressiontests/syndication/urls.py: 1 ./tests/regressiontests/syndication/tests.py: 2 ./tests/regressiontests/httpwrappers/tests.py: 2 ./tests/regressiontests/many_to_one_regress/models.py: 3 ./tests/regressiontests/maxlength/tests.py: 1 ./tests/regressiontests/serializers_regress/models.py: 4 ./tests/regressiontests/serializers_regress/tests.py: 5 ./tests/regressiontests/forms/widgets.py: 1 ./tests/regressiontests/forms/regressions.py: 1 ./tests/regressiontests/forms/forms.py: 1 ./tests/regressiontests/forms/fields.py: 1 ./tests/regressiontests/forms/util.py: 1 ./tests/regressiontests/forms/models.py: 2 ./tests/regressiontests/forms/localflavor/de.py: 1 ./tests/regressiontests/forms/localflavor/ca.py: 1 ./tests/regressiontests/forms/localflavor/za.py: 1 ./tests/regressiontests/forms/localflavor/nl.py: 1 ./tests/regressiontests/forms/localflavor/is_.py: 2 ./tests/regressiontests/forms/localflavor/fi.py: 1 ./tests/regressiontests/forms/localflavor/ar.py: 1 ./tests/regressiontests/forms/localflavor/cl.py: 1 ./tests/regressiontests/forms/localflavor/br.py: 1 ./tests/regressiontests/forms/localflavor/us.py: 1 ./tests/regressiontests/forms/localflavor/es.py: 2 ./tests/regressiontests/forms/localflavor/jp.py: 1 ./tests/regressiontests/forms/localflavor/pl.py: 2 ./tests/regressiontests/forms/localflavor/fr.py: 1 ./tests/regressiontests/forms/localflavor/ch.py: 1 ./tests/regressiontests/forms/localflavor/sk.py: 1 ./tests/regressiontests/forms/localflavor/it.py: 1 ./tests/regressiontests/forms/extra.py: 1 ./tests/regressiontests/forms/error_messages.py: 1 ./tests/regressiontests/select_related_regress/models.py: 2 ./tests/regressiontests/fixtures_regress/models.py: 4 ./tests/regressiontests/queries/models.py: 5 ./tests/regressiontests/defaultfilters/tests.py: 2 ./tests/regressiontests/invalid_admin_options/models.py: 6 ./tests/regressiontests/dateformat/tests.py: 1 ./tests/regressiontests/model_inheritance_regress/models.py: 3 ./tests/regressiontests/dispatch/tests/test_dispatcher.py: 6 ./tests/regressiontests/dispatch/tests/test_saferef.py: 6 ./tests/regressiontests/dispatch/tests/test_robustapply.py: 6 ./tests/regressiontests/null_fk/models.py: 3 ./tests/regressiontests/cache/tests.py: 9 ./tests/regressiontests/i18n/misc.py: 1 ./tests/regressiontests/i18n/models.py: 3 ./tests/regressiontests/i18n/tests.py: 1 ./tests/regressiontests/model_regress/models.py: 3 ./tests/regressiontests/utils/decorators.py: 1 ./tests/regressiontests/utils/datastructures.py: 1 ./tests/regressiontests/utils/views.py: 1 ./tests/regressiontests/utils/tests.py: 3 ./tests/regressiontests/templates/filters.py: 6 ./tests/regressiontests/templates/urls.py: 1 ./tests/regressiontests/templates/loaders.py: 5 ./tests/regressiontests/templates/unicode.py: 1 ./tests/regressiontests/templates/context.py: 1 ./tests/regressiontests/templates/views.py: 1 ./tests/regressiontests/templates/tests.py: 11 ./tests/regressiontests/null_queries/models.py: 3 ./tests/regressiontests/one_to_one_regress/models.py: 4 ./tests/regressiontests/max_lengths/__init__.py: 1 ./tests/regressiontests/max_lengths/models.py: 1 ./tests/regressiontests/max_lengths/tests.py: 6 ./tests/regressiontests/test_client_regress/urls.py: 2 ./tests/regressiontests/test_client_regress/models.py: 6 ./tests/regressiontests/test_client_regress/views.py: 4 ./tests/regressiontests/urlpatterns_reverse/tests.py: 4 ./tests/regressiontests/auth_backends/tests.py: 1 ./tests/regressiontests/datastructures/tests.py: 1 ./tests/regressiontests/initial_sql_regress/models.py: 2 ./tests/regressiontests/string_lookup/models.py: 2 ./tests/regressiontests/decorators/models.py: 1 ./tests/regressiontests/decorators/tests.py: 3 ./tests/regressiontests/middleware/tests.py: 2 ./tests/regressiontests/model_fields/models.py: 2 ./examples/manage.py: 1 ./examples/hello/views.py: 2 ./examples/views.py: 2
It's not terrible, but it could become bad over time if people end up moving away towards personal coding styles rather than Django's style which is based off of pep8.
digg it
seed it
del.icio.us
ma.gnolia

