Как получить имя пути URL в django с помощью request.path
В моем name
файле urls.py
есть пути урлов с
urls.py
urlpatterns = [
path('home/', views.home, name="home_view"),
]
мой views.py
def home(request):
path_name = get_path_name(request.path)
return HttpResponse(path_name)
Теперь мне нужно получить имя пути, "home_view"
в HttpResponse.
Как я могу заставить мою пользовательскую функцию get_path_name()
возвращать path_name
, принимая request.path
в качестве аргумента?
Вы можете использовать request.resolver_match.view_name
для получения name
текущего вида.
def home(request): path_name = request.resolver_match.view_name return HttpResponse(path_name)
from django.urls import path
from . import views
app_name = 'polls'
urlpatterns = [path('', views.index, name='index')]
print(urlpatterns[0]) # Output: <URLPattern '' [name='index']>
print(f"name is: {urlpatterns[0].name}") # Output: name is: index
Итак, URL ведет к /
.
А имя "index"