type
status
date
slug
summary
tags
category
icon
password
📌
人生百味,体验过后,淡然处之也是一种姿态。

项目Tree

👇🏻
~/Desktop/django_train/jobs tree -L 3
tree
. ├── init.py ├── pycache │   ├── init.cpython-38.pyc │   ├── admin.cpython-38.pyc │   ├── apps.cpython-38.pyc │   ├── models.cpython-38.pyc │   ├── urls.cpython-38.pyc │   └── views.cpython-38.pyc ├── admin.py ├── apps.py ├── migrations │   ├── 0001_initial.py │   ├── init.py │   └── pycache │   ├── 0001_initial.cpython-38.pyc │   └── init.cpython-38.pyc ├── models.py ├── templates │   ├── base.html │   ├── jobdetail.html │   └── joblist.html ├── tests.py ├── urls.py └── views.py

定义详情页

添加jobdetail.html

定义详情页视图

添加详情页视图函数

👇🏻
Remark-两种写法的区别:
return HttpResponse(template.render(context))
return render(request, 'jobdetail.html', context) 在 Django 中,这两种写法都可以用来渲染模板并返回响应,主要区别在于:
  1. HttpResponse():
  • 更底层的写法,需要直接导入HttpResponse。
  • 需要自己将context渲染到模板,得到渲染后的内容。
  • 需要自己设置响应的内容类型和编码。
示例:
  1. render():
  • 更高层的写法,直接由框架处理模板渲染和响应。
  • 将context和模板名传给render,它会帮你渲染模板。
  • 会自动设置Content-Type和编码。
示例
综上,render()写法更简洁,使用起来也更方便,因此大多数情况下优先推荐使用render()。
HttpResponse()适用于需要更底层控制的场景。

应用jobs:将jobdetail视图注册到urls.py中

访问详情页

notion image

👇🏻参考资料

 
35岁才发现,工作是没有意义的Django学习笔记(2)-自定义列表页
  • Twikoo
  • Cusdis