В одном из моих проектов я создал динамические c URL-адреса с одной конечной точкой. Я думаю, что это было для django 1.11. Добавление кода здесь.
urls.py
url(r'^settings/(?P<url>[.\w-]+)/$', settings_url_resolver, name='user_setting')
url_resolver
def settings_url_resolver(request, url=None):
url_path = request.path
if request.user.is_anonymous:
return redirect(reverse('user:login'))
if url_path == 'endpoint1':
view_name = SomeView.as_view()
return view_name(request)
elif url_path == 'endpoint2':
return view2
elif url_path == 'endpoint3':
return view3
else:
raise Http404
Я написал эту пару лет go. Вы можете улучшить читабельность.