django系列-路由系统
一、传统路由(path)
# urls.py from django.contrib import admin from django.urls import path from apps.web import views urlpatterns = [ path('home/', views.home), path('news/<int:nid>/edit/', views.news), path('article/', views.article), ] int,整数 str,字符串 / slug,字母+数字+下滑线+- uuid,uuid格式 path,路径,可以包含 /
对应视图函数
# views.py from django.shortcuts import render, HttpResponse def home(request): return HttpResponse("成功") def news(request, nid): print(nid) page = request.GET.get("page") return HttpResponse("新闻") def article(request): nid = request.GET.get("nid") print(nid) return HttpResponse("文章")
二、正则表达式路由(re_path)
# urls.py from django.contrib import admin from django.urls import path, re_path from apps.web import views urlpatterns = [ re_path(r'users/(?P<xxid>\w+-\d+)/(?P<yid>\d+)/', views.users), ]
对应视图函数
# views.py from django.shortcuts import render, HttpResponse def users(request, xxid, yid): return HttpResponse("成功")
三、路由分发(include或手动分发)
projectA #项目 -apps #apps -user #app -views.py -urls.py -manager #app -views.py -urls.py -projectA #项目文件 -settings.py -urls.py
from django.urls import path, include from app1 import views urlpattrens = { path("admin/", views.admin), #无分发 path("user/", include("apps.app1.urls")), #分发到apps/app/urls文件 }
from django.urls import path from apps.user import views urlpatterns = { # 实际路由 /user/index path("index/", views.index), }
未完待续
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」