You pass a positional argument instead of a keyword argument. The following should work:
{% url consultant_service_detail consultant_id=consultant.id %}
Also, if you use Django> = 1.5, you should use url as follows:
{% url 'consultant_service_detail' consultant_id=consultant.id %}
And since this is a new behavior, you can (recommended) use in earlier versions of Django (think> = 1.3):
{% load url from future %} {% url 'view_name' ... %}
The regular expression, I think, is in order here , so the problem is most likely related to the definition itself. Try the following:
url(r'^admin/detail_consultant_service/(?P<consultant_id>[\w.%+-] +@ [A-Za-z0-9.-]+\.[A-Za-z]{2,4})/$', 'admin_tool.views.consultant_service_detail', name="consultant_service_detail"),
so the actual url will look like:
foo.com/admin/detail_consultant_service/ email.address@here.com /
source share