Без большего количества кода я не могу быть слишком конкретным, но '#' соответствует escape-последовательности символа% 23, и что-то в вашем коде может потребоваться явно экранировать 'c #', прежде чем помещать его в URL.
Вот фрагмент кода django, который использует URL-цитирование:
http://www.djangosnippets.org/snippets/1159/
Решение вашей проблемы может выглядеть так:
from django.utils.http import urlquote
...
tag = urlquote(tag)
tag_url = base + "tags/" + tag
...