Просмотрите именованные URL, вы можете найти официальную документацию django здесь .
Как правило, вы можете назвать свои URL-адреса в URL-адресе conf как:
url(r'^user/(?P<user_id>\d+)/profile/$', 'yourapp.views.view', name='user_url')
И тогда в любом шаблоне вы можете сделать это:
<a href="{% url user_url user.id %}">
Однако это сделает вашу структуру URL довольно уродливой, и для этого есть более эффективные способы. Например, вы можете просто перейти в / profile /, и идентификатор пользователя будет получен из текущего сеанса (каждый запрос имеет атрибут 'user', используйте его). Так, например, по вашему мнению, вы можете сделать это:
def myview(request):
user = request.user
И впоследствии вы можете использовать эту информацию, чтобы делать то, что вы хотите. Гораздо приятнее, чем использование идентификаторов в URL, и вам не нужно беспокоиться о любых других проблемах безопасности, которые могут возникнуть.