Django URL名字和命名空间

Django URL名字和命名空间,给URL命名,可以方便地在模板或Python代码中使用URL,比如分别在模板和Python代码中使用了URL的名字’news-year-archive’。

URL命名空间用于将URL进行隔离。应用程序名就可以作用URL的命名空间,例如django.contrib.admin的命名空间就是admin。由于Django的应用程序可以部署多次,所以应用程序的实例名也可以作为命名空间。

使用“命名空间名:URL名”的方式调用URL。命名空间可以嵌套使用如“命名空间名1:命名空间名2:URL名”

  1. 定义命名空间
    在URLconf模块中使用app_name属性声明命名空间,例如:
    Django URL名字和命名空间

或者,直接在urlpatterns中定义命名空间:
Django URL名字和命名空间

上面polls_patterns是一个元组,元组的第一个参数是path()或re_path()列表,第二个参数是URL的namespace。当使用include()方法引用polls_patterns时系统会自动为polls_ patterns中的所有URL添加namespace。

  1. 在其他URLconf中使用命名空间
from django.urls import include, path
urlpatterns = [
    path('polls/', include('polls.urls')),
]
  1. 在模板文件中使用命名空间
{% url 'polls:index' %}
  1. 在Python代码中使用命名空间
return HttpResponseRedirect(reverse('polls:results', args=(question.id,)))

酷客教程相关文章:

赞(0)

评论 抢沙发

评论前必须登录!