﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
26250	Use a single string placeholder syntax for all user facing APIs	Jon Dufresne	nobody	"Some Django APIs use the legacy % style placeholder syntax while others use the {{{str.format()}}} style syntax.

I think Django should pick one style and use it consistently for all user facing APIs.

For example:

{{{str.format()}}} syntax

* [https://docs.djangoproject.com/en/1.9/ref/class-based-views/mixins-editing/#django.views.generic.edit.ModelFormMixin.success_url success_url]
* [https://docs.djangoproject.com/en/1.9/ref/utils/#django.utils.html.format_html format_html()]

Legacy % syntax

* [https://docs.djangoproject.com/en/1.9/ref/forms/validation/#raising-validationerror ValidationError]
* [https://docs.djangoproject.com/en/1.9/topics/db/models/#be-careful-with-related-name related_name]

As {{{success_url}}} recently moved to {{{str.format()}}}, I'm guessing this is Django's preferred style?

I'm suggesting Django deprecate its use of the legacy % syntax in favor of {{{str.format()}}} syntax. I think this would create a greater API consistency throughout the framework.

[https://groups.google.com/forum/#!topic/django-developers/J9CfWIgrgbY django-developers discussion]"	Cleanup/optimization	closed	Core (Other)	dev	Normal	wontfix			Someday/Maybe	0	0	0	0	0	0
