当前位置: 首页 > 面试题库 >

如何使用Django获取当前网址名称?

邰昀
2023-03-14
问题内容

我必须根据当前URL动态构建一个URL。使用{% url %}标记是最简单的方法,但是我需要当前的URL名称来动态生成新的URL。

如何获取链接到指向当前视图的urlconf的url名称?

编辑:我知道我可以手动使用url,get_absolute_url但是我宁愿避免使用它,因为它是讲座的一部分,我只想演示一种构建url的方法。

学生知道如何使用{% url %}。他们知道当他们必须根据当前URL生成更完整的URL时遇到问题。最简单的方法是{% url %}再次使用,但要有所不同。由于已命名为url,因此我们需要知道如何获取调用当前视图的url的名称。

编辑2:另一个用例是根据基础模板不同地显示基础模板的各个部分。还有其他方法(使用CSS和{%block%},但有时如果视图名称与链接匹配,能够删除base.html菜单项的标签就很好了。


问题答案:

我不知道此功能已经成为Django的一部分了,但是正如下面的文章所示,可以通过以下方法实现该功能:

   from django.core.urlresolvers import resolve
   current_url = resolve(request.path_info).url_name

如果在每个模板中都需要,则编写模板请求可能是适当的。

编辑:应用新的DJANGO更新

在当前的Django更新之后:

Django 1.10(链接)

django.core.urlresolvers模块导入不建议使用,而应使用其新位置,django.urls

Django 2.0(链接)

django.core.urlresolvers模块已被删除,以保留其新位置django.urls。

因此,正确的做法是这样的:

from django.urls import resolve
current_url = resolve(request.path_info).url_name


 类似资料:
  • 问题内容: 我正在使用量角器和茉莉花测试网站。我想知道当前网址以验证测试。 我努力了 我以这种方式使用此功能 问题答案: 如果您只想检查当前URL,请使用: 但是,如果您需要等到URL匹配某个值,请参阅答案的下一部分。 这是一个基于“ 预期条件 ”作者提供的示例的工作代码: 用法:

  • 问题内容: 我有一个Post模型,在将其添加到数据库之前,它需要一个特定的类别,并且我希望该类别能够自动生成。单击addPost按钮会将您带到其他页面,因此将通过获取上一页URL的一部分来确定类别。 有没有一种方法可以将上一页URL作为字符串获取? 谢谢 编辑:我在这里添加了我的AddPost按钮。 问题答案: 你可以使用来做到这一点,但是如果只有选项卡的上一页来自你的网站,那么它将存在,否则中将

  • 我使用selenium获取网页,并发送kenword获取新页面。但是我怎样才能获得新的网页,并搜索我需要的信息呢 请原谅我没有使用降价。我的问题是:我想在搜索关键词后获得网页,但我编写了浏览器。page_源码,它是百度的主页

  • 我将Thymeleaf模板引擎与Spring Web MVC结合使用,在使用当前url创建url时遇到了问题。有没有办法获取Thymeleaf HTML文件中的最新信息?例如:假设我在浏览器地址栏中的当前url是: 现在我想做一个这样的URL < code > http://localhost:8080/project/web/category/mobiles/store/Samsung 或

  • 问题内容: 出于跟踪目的,我想打印出当前函数名称,例如gcc中的宏。 这样当我有一个功能 它会自动打印出来或类似的东西。 问题答案: [注意:Go 1.7+建议使用代替; 包运行时是您的朋友在这里:

  • 问题内容: 我想知道如何在JavaScript中将当前用户的名称作为HTML文档的一部分。 在Java中,可以键入以实现此目的。JavaScript的替代方法是什么? 问题答案: JavaScript在当前HTML文档的上下文中运行,因此,除非它在当前页面中,否则您将无法确定有关当前用户的任何信息,或者您对服务器端脚本进行AJAX调用以获取更多信息。 JavaScript将无法确定您的Window