【问题标题】:Django- URL namespace [closed]Django- URL 命名空间 [关闭]
【发布时间】:2015-12-16 10:59:43
【问题描述】:

谁能给我解释一下 Django 中 URL 命名空间的概念。我确实找到了一个类似的问题(Anyone knows good Django URL namespaces tutorial?),但我仍然没有理解。

【问题讨论】:

  • 哪一部分不清楚?

标签: python django web django-urls


【解决方案1】:

假设您的项目中有三个应用程序:

  • 评论
  • 产品
  • 用户

对于每个应用,您在 views.py 中都有一个名为 DetailView 的视图。

class DetailView(generics.RetrieveUpdateDestroyAPIView):
    # Some logic here.

要调用视图,您的urls.py 中有一个您已命名为detail 的URL。这可能会让人感到困惑!

url(r'^(?P<pk>\d+)$', views.DetailView.as_view(), name='detail')

要区分 URL(例如,在您的模板中使用 {% url ... %}),您可以使用命名空间。

url(r'^api/v1/reviews/', include(reviews_urls, namespace="reviews"))

当您为 URL 命名时,您可以在模板中引用它们或将它们重定向为 reviews:detail,这可以简化您的生活并使代码更易于重用。

def my_view(request):
    ...
    return redirect('reviews:detail', foo='bar')

【讨论】:

    猜你喜欢
    • 2019-02-01
    • 2011-01-08
    • 2013-11-09
    • 1970-01-01
    • 2016-12-25
    • 2018-12-04
    • 2013-08-13
    • 1970-01-01
    • 2011-03-03
    相关资源
    最近更新 更多