Django 路由(URL)一分钟通关

举报
周杰伦本人 发表于 2025/07/30 14:10:12 2025/07/30
【摘要】 Django 路由(URL)一分钟通关一、为什么需要路由浏览器发起请求 → Django 拿着请求的 URL 去 urls.py 列表里逐条匹配 → 找到就调用对应的视图函数 → 返回响应。没匹配到就抛 404。二、最小路由示例项目级 book_manager/urls.py:from django.contrib import adminfrom django.urls import p...

Django 路由(URL)一分钟通关

一、为什么需要路由
浏览器发起请求 → Django 拿着请求的 URL 去 urls.py 列表里逐条匹配 → 找到就调用对应的视图函数 → 返回响应。
没匹配到就抛 404。

二、最小路由示例
项目级 book_manager/urls.py

from django.contrib import admin
from django.urls import path
from book.views import index   # 1. 先导入视图函数

urlpatterns = [
    path('admin/', admin.site.urls),  # 自带后台
    path('index/', index),            # 2./index/ 映射到 index 视图
]

访问:
http://127.0.0.1:8000/index/ → 调用 index(request) → 返回 HttpResponse("OK")

三、404 场景

  • 访问 /abc/:列表里没有 abc/ → Django 返回 404 页面。

  • 检查顺序:从上到下匹配,命中即停。

四、路由三要素

  1. path() 函数:
    path(route, view, name=None)
  • route:URL 字符串,不要 写斜杠开头,末尾写 / 习惯。

  • view视图函数对象(不要加括号)。

  • name:可选,反向解析用。

  1. 视图函数 必须满足:
  • 第 1 个形参:request(HttpRequest 对象)

  • 返回:HttpResponse 或其子类

  1. 导入视图
    from app.views import 视图函数名,再放到 path() 中。

五、快速记忆

  • 定义视图views.py 里写函数,接收 request 返回 HttpResponse

  • 映射 URLurls.py 里加一条 path('路由/', 视图函数)

  • 重启服务:每次改路由后重启 python manage.py runserver 或点 PyCharm ▶️。

六、一句话总结
URL 就是 Django 的“指路牌”:浏览器来问路,Django 拿着指路牌把请求带到正确的视图函数。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。