簡體   English   中英

從完整路徑獲取反向URL名稱

[英]Get reverse URL name from full path

有誰知道我如何從request.get_full_path()獲取URL名稱?

例如:

我在urls.py中有此URL

url(r'^evaluation-active/$', 'web.evaluation.evaluation', name='evaluation'),

在我的context_processor.py中:

def is_evaluation(request):
    return {"test":request.get_full_path()}

如何返回“評估”而不是“ / evaluation-active /”?

謝謝

從django docs

HttpRequest.resolver_match

Django 1.5的新功能。 代表解析的URL的ResolverMatch實例。 僅在發生URL解析之后才設置此屬性,這意味着該屬性在所有視圖中可用,但在發生URL解析之前執行的中間件方法中不可用(例如process_request,可以改用process_view)。

ResolverMatch對象中有url_name屬性:

def is_evaluation(request):
    return {"test": request.resolver_match.url_name}

對於<1.5的django版本,這里有答案: 如何使用Django獲取當前的urlname?

如果使用django 1.5或更高版本,請使用request.resolver_match獲取ResolverMatch對象。

def is_evaluation(request):
    return {"test":request.resolver_match.url_name}

如果使用1.5之前的版本,請使用resolve:

def is_evaluation(request):
    return {"test":resolve(request.path_info).url_name}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM