Migration tool for old style “url” tags in Django 1.3 & 1.4. Support for Django 1.5 in next version. “In Django 1.5, the behavior of the url template tag will change”
If you use old style url tags in django 1.4 you will see that:
“DeprecationWarning: The syntax for the url template tag is changing.
Load the url
tag from the future
tag library to start using the
new behavior.”
The new library also drops support for the comma syntax for separating arguments to the url template tag.
In Django 1.5, the old behavior will be replaced with the behavior provided by the future tag library. Existing templates be migrated to use the new syntax.
- Finds all
\*.html
,\*.txt
files. - Replaces all old style “url” tags.
- Inserts
{% load url from future %}
when it's needed.
$ pip install django-future-url
$ cd ~/projects/my_django_14_project/ $ future_url
It will show needed midification for all templates in directory “~/projects/my_django_14_project/” and subdirectories.:
$ future_url --write
It will modernize all your templates in place (see above).
You can use future_url --help
for help.
Only shows changes to be made without actually modifying files:
$ future_url
$ cat ./template1.html {% url path.to.view arg arg2 %} {% url path.to.view arg arg2 %} {%url myapp:view-name %} {% url path.to.view as the_url%} {% url path.to.view arg arg2 as the_url %} {%url app_views.client client.id%}
$ future_url --write $ cat ./template1.html {% load url from future %} {% url 'path.to.view' arg arg2 %} {% url 'path.to.view' arg arg2 %} {%url 'myapp:view-name' %} {% url 'path.to.view' as the_url%} {% url 'path.to.view' arg arg2 as the_url %}
Install python setup.py test
and cram django_future_url/test/cram