在视图中使用 url 名称

发布于 2024-10-12 05:55:26 字数 36 浏览 3 评论 0原文

是否可以在视图中使用 url 名称,就像我们在模板中那样?

Is it possible to use urls names in views, like we can do it in template?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

很糊涂小朋友 2024-10-19 05:55:26

查看关于 reverse 的文档

他们在这里有一个反转命名 url 的具体示例:

https://docs.djangoproject.com/en/dev/topics/http/urls/#反向解析-of-urls

<代码>reverse(viewname, urlconf=None, args=None, kwargs=None, current_app=None)

viewname 是函数名称
(函数引用,或者
名称的字符串版本,如果您
在 urlpatterns 中使用该形式)或
URL 模式名称。

def myview(request):
    return HttpResponseRedirect(reverse('arch-summary', args=[1945]))

Check out the docs on reverse

They have a specific example reversing a named url here:

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 is either the function name
(either a function reference, or the
string version of the name, if you
used that form in urlpatterns) or the
URL pattern name.

def myview(request):
    return HttpResponseRedirect(reverse('arch-summary', args=[1945]))
秋凉 2024-10-19 05:55:26

我知道这个话题已经有很多年了,但是在我自己寻找相同话题的过程中,这个话题突然出现了。我相信请求者正在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)

url 名称位于 (self.)'request' 变量内。从您的角度来看,“resolver_match.url_name”就是您正在寻找的那个。

希望这可以帮助人们寻找同样的东西。

I know this topic is years old, however during my own search for the same, this one popped up. I believe the requester is looking for the following in 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)

Do note that I'm using class based views. Within regular views, the name can be retrieved as follows (not tested):

def current_url_name(request):
    html = "<html><body>Url name is {}.</body></html>".format(request.resolver_match.url_name)
    return HttpResponse(html)

The url name is within the (self.)'request' variable. From within your view, 'resolver_match.url_name' is the one you're looking for.

Hope this helps people in search of the same.

巴黎盛开的樱花 2024-10-19 05:55:26
<script>
    var salesApiUrl = "{% url 'URLNamesHere' %}"
</script>

现在,salesApiUrl 是全局的。您也可以在js中使用var名称

<script>
    var salesApiUrl = "{% url 'URLNamesHere' %}"
</script>

Now, the salesApiUrl is global. You can use the var name in js as well

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文