Masking url's on templates not to show exact path, hiding them all or part of all for tracing.
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.