Django (二) 路由设置和请求重定向

一. 路由配置 (URL配置)

1. 路由配置之 - include函数的使用:

在这里插入图片描述
使主路由内包含子路由,使用include来指明子路由的位置

完整格式为:

path('XXX/', include('app_name.urls_file_name'), namespace='app_name')
app_name        - 应用名称
urls_file_name  - app中包含路由的文件名称,即子路由文件名称
namespace       - 命名空间,避免不同应用中的路由使用了相同的名字而发生冲突,所以使用命名空间区分开来

例子:

path('tourists/', include(('users.urls'), namespace='users'))

注意:namespace可以缺省,缺省时,默认为app_name

2. 路径结尾斜线

Django定义路由时,无论是主路由还是子路由,通常以斜线结尾,此时若用户访问不主动加斜线 “/” Django会自动重定向到包含斜线的路径上,而不会返回404

类似如:

urlpatterns = [
    url(r'^index/$', views.index, name='index'),
]

用户访问 index 或者 index/ 网址,均能访问到index视图。

二. 请求重定向

Django 2.X中reserve的使用

  • 对于未指明namespace的,reverse(urls_path_name)
  • 对于指明namespace的,reverse(namespace_name:urls_path_name)

urls_path_name 为app的子路由中path对应的name=‘xxx’
namespace主路由中path对应的namespace=‘xxx’

发布了45 篇原创文章 · 获赞 1 · 访问量 2409

猜你喜欢

转载自blog.csdn.net/weixin_44225602/article/details/104363617
今日推荐