Django 路由(URL)一分钟通关
【摘要】 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 页面。 -
检查顺序:从上到下匹配,命中即停。
四、路由三要素
- path() 函数:
path(route, view, name=None)
-
route
:URL 字符串,不要 写斜杠开头,末尾写/
习惯。 -
view
:视图函数对象(不要加括号)。 -
name
:可选,反向解析用。
- 视图函数 必须满足:
-
第 1 个形参:
request
(HttpRequest 对象) -
返回:
HttpResponse
或其子类
- 导入视图
先from app.views import 视图函数名
,再放到path()
中。
五、快速记忆
-
定义视图:
views.py
里写函数,接收request
返回HttpResponse
。 -
映射 URL:
urls.py
里加一条path('路由/', 视图函数)
。 -
重启服务:每次改路由后重启
python manage.py runserver
或点 PyCharm ▶️。
六、一句话总结
URL 就是 Django 的“指路牌”:浏览器来问路,Django 拿着指路牌把请求带到正确的视图函数。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)