首页 > 解决方案 > 从名称构建 URL

问题描述

我有一个 'accounts:produce_setup' 的 url(即命名空间/应用程序是 'accounts' 并且 url 的名称是 'product_setup')。我想构建与此视图关联的完整 url 并将其作为上下文传递到模板中。

我该怎么做呢?我会使用 build_absolute_uri() 吗?

谢谢!

标签: djangodjango-views

解决方案


您应该包含您的应用程序project_name/urls.py并将您的应用程序绑定到特殊的 URL 模式,如下所示:

from account.urls import urlpatterns as account_urlpatterns

urlpatterns = [
    url(r'^account/', include(account_urlpatterns, namespace='account')),
    url(r'^admin/', admin.site.urls),
]

在此之后,您account/urls.py可以实现您的 urlpatterns 并为每个 url 设置您的特殊名称,如下所示:

from django.conf.urls import url
from .views import produce_setup_view

urlpatterns = [
    url(r'^produce_setup/$', produce_setup_view, name='produce_setup')),
]

最后,现在您可以像这样在您的中使用template它们views or any python file in your django project

.pydjango项目中:

from django.urls import reverse

url_string = reverse('account:produce_setup')
print(url_string)

>>> '/account/produce_setup/'

template

<a href="{% url "accounts:product_setup" %}"></a>

祝你好运 :)


推荐阅读