当前位置: 首页> 娱乐> 八卦 > 广告公司名称怎么取好_全国十大装修公司排行榜_seo对网站优化_百度下载老版本

广告公司名称怎么取好_全国十大装修公司排行榜_seo对网站优化_百度下载老版本

时间:2025/7/17 4:56:12来源:https://blog.csdn.net/weixin_47520716/article/details/147196034 浏览次数:0次
广告公司名称怎么取好_全国十大装修公司排行榜_seo对网站优化_百度下载老版本

1. 最基本路由关系

路由是URL地址与处理逻辑(视图函数)的对应关系。

本质:将用户请求的URL路径映射到具体的处理程序(如Django视图函数)。

示例

# urls.py  
urlpatterns = [  path('home/', views.home_view),  # URL路径"home/" → home_view函数  
]

当用户访问http://域名/home/时,自动触发home_view函数处理请求。

2. 动态路由(含正则)

动态路由通过URL参数传递数据,支持正则表达式灵活匹配路径

参数捕获

# 捕获数字参数  
path('user/<int:user_id>/', views.user_detail),  
# 正则匹配(复杂场景)  
re_path(r'users(\w+)/', views.users)
re_path(r'^articles/(?P<year>[0-9]{4})/$', views.article_year),  

访问/user/123/时,user_id=123传递给视图函数。

正则表达式作用

约束参数格式(如限定4位年份)

精细化路径匹配规则

3. 路由分发到不同App

大型项目需拆分路由到多个App,通过include实现模块化管理

操作步骤:

(1)主路由配置(项目层)
# 主urls.py  
urlpatterns = [  path('blog/', include('blog.urls')),  # 子路由:blog App  path('shop/', include('shop.urls')),   # 子路由:shop App
]
(2)子路由配置App层)
# blog/urls.py  
urlpatterns = [  path('list/', views.blog_list),  
]

访问/blog/list/时,由blogAppblog_list视图处理

核心优势

  • 解耦项目结构
  • 便于团队协作维护

4. NameNamespace

解决多App路由命名冲突问题,支持反向解析URL

(1)Name(名称)

为路由定义唯一别名,反向生成URL

# 定义  
path('about/', views.about, name='about_page'),  # 一般会有以下两处会用到
# 1.模板中反向生成url  (.html文件中)
<a href="{% url 'about_page' %}">关于我们</a>
# 2.在视图函数中生成URL
from django.urls import reverseurl = reverse("about_page") 

(2)Namespace(命名空间)

区分不同App的同名路由:

  from django.urls import path, re_path, include# 主路由urlpatterns = [path('api/', include("apps.api.urls",namespace='a1')),path('web/', include("apps.web.urls",namespace='w1')),]
  from django.urls import path, re_pathfrom . import views# 子路由:api/urls.pyurlpatterns = [path('login/', views.login,name="login"),path('auth/', views.auth, name='auth'),]

from django.urls import path, re_pathfrom . import views# 子路由:web/urls.pyurlpatterns = [path('home/', views.home,name='home'),path('order/', views.order,name='order'),path('auth/', views.order, name='auth'),]

# 在某个URL或者视图中反向生成:
from django.urls import reverse
url = reverse("a1:login")    
url = reverse("w1:home")    url = reverse("a1:auth")    
url = reverse("w1:auth")    
  • 避免多个Apparticle_detail名称冲突
  • namespace需要设置app_name:
# 主路由  
urlpatterns = [path('api/', include("apps.api.urls", namespace='a1')),]
  from django.urls import path, re_pathfrom apps.api import views# 子路由:api/urls.pyurlpatterns = [path('login/', views.login, name="login"),path('auth/', views.auth, name='auth'),]app_name = "api"

5.总结对比

概念作用典型场景
基本路由关系URL → 视图映射简单页面跳转
动态路由(正则)参数传递与格式约束用户详情页、分类过滤
路由分发(include模块化管理多App路由大型项目分层开发
NameNamespace反向解析URL + 避免命名冲突App协作、模板链接生成

路由系统通过路径匹配与参数处理,实现Web请求的精准分发与管理

关键字:广告公司名称怎么取好_全国十大装修公司排行榜_seo对网站优化_百度下载老版本

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: