Masking url's on templates not to show exact path, hiding them all except get params.
pip install django-maskurl
Then add maskurl.middleware.UnMaskURLMiddleware
to the end of your MIDDLEWARE_CLASSES
.
MIDDLEWARE_CLASSES = (
'dikeyshop.syncer.middlewares.SyncerMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.http.ConditionalGetMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.doc.XViewMiddleware',
...
'maskurl.middleware.UnMaskURLMiddleware',
)
To mask a url on a template simply at the top, before all html codes {% load maskurl %}
line must be placed, as following;
{% load maskurl %}
<title>...
...
Then requested urls on that html file should be one of the following formats;
- {% url 'main' %}
- {% url 'list' 4 %}
- {% url 'list' 'blah' %}
- {% url 'list' object.id %}
- {% url 'list' obj1.id obj2.id %}
- {% url 'list' obj1.name|title obj2.id|lower %}
- {{ reversed_url }}
Those can be converted as following;
- {% maskurl 'main' %}
- {% maskurl 'main' 4 %}
- {% maskurl 'main' 'blah' %}
- {% maskurl 'main' object.id %}
- {% maskurl 'main' obj1.id obj2.id %}
- {% maskurl 'main' obj1.id|title obj2.id|lower %}
- {% maskurl reversed_url %}
get params can also be added after the closing curly bracket.