我在研究朋友的项目时,在浏览urls.py文件时注意到了这个:
url(r'^apply/$', contact.as_view(), name='careers_contact'),
我最近学习了类视图,除了最后一部分name='careers_contact'
之外,所有内容都很清晰明了。我也无法在网上找到这个名称的含义。
有人可以解释一下这是什么,它的名称在哪里,以及它的作用是什么吗?
我在研究朋友的项目时,在浏览urls.py文件时注意到了这个:
url(r'^apply/$', contact.as_view(), name='careers_contact'),
我最近学习了类视图,除了最后一部分name='careers_contact'
之外,所有内容都很清晰明了。我也无法在网上找到这个名称的含义。
有人可以解释一下这是什么,它的名称在哪里,以及它的作用是什么吗?
url()
name
参数"这是什么?它在哪里?"
url()
是一个简单的函数,返回一个 django.core.urlresolvers.RegexURLPattern
对象,因此传递一个 name='careers_contact'
参数为该对象设置了一个 name
。直到这个 url(...)
被放置到 URLconf 中,这些都不是真正相关的内容。
如果我们需要一个视图的URL,现在我们可以在模板中通过将name
传递到{% url 'careers_contact' %}
或在代码中使用reverse('careers_contact')
来获取它,在后端这些函数将使用name
来映射回正确的URL。
为什么我们需要它?
我们可以反转Python路径以获取URL(例如reverse(blog.views.home)
),那么使用name
有什么意义呢?
(点击链接以了解问题的示例以及命名/命名空间如何解决它)
<a href="{% URL 'contact:careers_contact' %}"> Click me! </a>