我必须根据当前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