URL、请求与视图响应
Django Web 开发#Python全栈#第十一阶段#Django Web 开发#URL、请求与视图响应约 807 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
Django 怎样按 URLconf 匹配并调用视图?
追问 路径转换器、规则顺序和查询参数各影响什么?为什么较宽泛的规则可能遮挡后面的具体路径?
include、app_name 与 URL namespace 怎样组织多 app 路由?
追问 两个 app 都有名为 detail 的路由时,怎样通过命名空间避免反向解析混淆?
reverse 与模板中的 url 标签为什么适合生成链接?
追问 路径参数与路由名称不匹配时会发生什么?NoReverseMatch 应从哪些信息排查?
视图怎样读取请求方法、查询参数、表单字段和请求头?
追问 request.GET 与 request.POST 为什么是支持多值的结构?get 与 getlist 分别适合什么字段?
原生 Django 视图如何读取 JSON 与上传文件?
追问 request.body、request.POST 和 request.FILES 各针对什么输入?为什么不能直接假设存在 Flask 风格的 request.get_json?
函数视图与类视图如何选择?
追问 View、ListView、DetailView 和编辑类通用视图分别减少什么重复代码?业务复杂时怎样避免过度继承?
类视图的 as_view 与 dispatch 分别参与什么过程?
追问 怎样按 GET、POST 分派处理?请求相关数据为什么不宜保存到跨请求共享的可变类属性?
HttpResponse、render 与 redirect 各适合什么响应?
追问 如何返回正确媒体类型、状态与跳转?传统表单和前后端分离接口为何通常需要不同反馈方式?
JsonResponse 怎样处理字典、列表和业务对象?
追问 返回顶层列表时怎样设置 safe?为什么 QuerySet 或任意模型实例不能未经转换就当作普通 JSON 数据?
Http404、get_object_or_404 与方法限制装饰器怎样改善视图边界?
追问 资源不存在、方法不允许和无权访问应怎样区别?查询对象时为何可以先限定当前用户可见范围?