是否可以在视图中使用网址名称,就像我们可以在模板中一样?
答案 0 :(得分:8)
查看reverse
他们在这里有一个特定的例子来反转一个名为url的网址:
https://docs.djangoproject.com/en/dev/topics/http/urls/#reverse-resolution-of-urls
<强> reverse(viewname, urlconf=None, args=None, kwargs=None, current_app=None)
强>
viewname是函数名称 (函数引用,或者 字符串版本的名称,如果你 在urlpatterns中使用该形式)或 网址格式名称。
def myview(request):
return HttpResponseRedirect(reverse('arch-summary', args=[1945]))
答案 1 :(得分:1)
答案 2 :(得分:1)
<script>
var salesApiUrl = "{% url 'URLNamesHere' %}"
</script>
现在,salesApiUrl是全球性的。您也可以在js中使用var名称
答案 3 :(得分:1)
我知道这个话题已经存在多年了,但是在我自己寻找这个话题的过程中,这个话题突然出现了。我相信请求者正在views.py中寻找以下内容:
views.py
class Overview(ListView):
model = models.data
template_name = "overview.html"
def get_queryset(self):
name = self.request.resolver_match.url_name
print(name)
请注意,我正在使用基于类的视图。在常规视图中,可以按以下方式检索名称(未经测试):
def current_url_name(request):
html = "<html><body>Url name is {}.</body></html>".format(request.resolver_match.url_name)
return HttpResponse(html)
网址名称位于(self。)'request'变量中。从您的观点来看,“ resolver_match.url_name”就是您要寻找的。 p>
希望这有助于人们进行相同的搜索。