URL使用

视图:

我们运行项目在网页上查看到的我们称之为视图

视图一般在views.py下编辑

它的第一个参数永远都是request,通过它请求一些数据返回给网页给我们查看。

视图函数的返回结果必须是HttpResponseBase对象或者子类的对象。

from django.http import HttpResponse
def xxx(request):
#通过return返回 HttpResponseBase
return HttpResponse("通过request请求返回的值!")

映射

写完视图后需要与Url进行映射好比http://127.0.0.1:8000/id网站后面输入的id即为url,django就会从url.py进行寻找视图

#需要使用django.urls.path函数进行包裹映射和视图
from django.urls import path
#导入需要映射的文件
from app import views
#我们把这些匹配放在urlpatterns变量中,他是django规定的不用深究
urlpatterns = [
#第一个参数为url,第二个为需要的视图函数
path('id/',views.xxx),
]

这样访问http://127.0.0.1:8000/id的时候就会看到设置的视图

在url中添加参数

有时候url需要一些动态调整,127.0.0.1/p/1 比如博客某文章的id就是1,那么它是/p/<id>这样的动态的

path('book/',views.book_list),
path('book/<book_id>/',views.book_detail)

而在views中我们可以这样编写:

方法①:

def book_detail(request,book_id):
text = "您输入的书籍的id是:%s" % book_id
return HttpResponse(text)

这样在网页输入的url就是它的id,例如127.0.0.1/book/<1>那么会返回您输入的书籍的id是:<1>

方法②:

通过查询字符串的方式传递一个参数过去。示例代码如下:

path('book/detail/',views.book_detail)
在views.py中的代码如下:
def book_detail(request):
book_id = request.GET.get("id")
text = "您输入的书籍id是:%s" % book_id
return HttpResponse(text)

那么就可以通过/book/detail/?id=1即可将参数传递过去。

在URL中包含其他的urls模块

我们的项目不可能就一个app,那么我们就需要用多个views,要是使用一个url映射会显得特别混乱,那么我们就需要使用不同的url

不懂include函数的点击右方链接查看→include基本使用文章链接

# app/urls.py文件:
#我们需要导入include。帮助我们使用多个url
from django.urls import path,include urlpatterns = [
#把需要的`url`放在`include`中,这样凡是在`book/`里面的url时都会去`book`app下的urls.py中寻找相应的值
path('book/',include("book.urls"))
]

下一篇介绍path函数的定义及参数

最新文章

  1. serialize()序列化
  2. 修改Mac系统的默认截图保存路径到指定目录
  3. Naive Bayes理论与实践
  4. docker-2 深入了解docker
  5. hibernate关于一对一用法
  6. Ionic 测试针对Andorid平台
  7. Howie带你云上飘-新浪云
  8. Android仿人人客户端(v5.7.1)——个人主页(三)
  9. python : 批量下载R语言库包
  10. Makfile文件编写
  11. [CF337D]邪恶古籍-树状dp
  12. action属性注入为null
  13. web框架和django基础(粗糙版)
  14. 安装PyCharm开发工具
  15. Web前端JQuery面试题(一)
  16. selenium python 一些操作和定位收集
  17. 2019阿里校招测评题,光明小学完全图最短路径问题(python实现)
  18. 潭州课堂25班:Ph201805201 第十二课 new方法,定制属性访问,描述符与装饰器 (课堂笔记)
  19. 操作系统学习(一)、80x86保护模式内存管理
  20. 创建线程安全的单例(ARC或 非ARC)

热门文章

  1. Excel多表头设置二级联动选择
  2. Automated Generation of VNF Deployment Rules Using Infrastructure Affinity Characterization
  3. answer
  4. el-select获取选中的value和label
  5. 南开大学2020年数学分析高等代数考研试题回忆版TeX排版
  6. 避免git clone和push时每次都需要输入用户名和密码
  7. 003 okhttp超时与缓存
  8. MSSQL Server 及 MSSQL Express版本 自动备份
  9. SDN实验---Mininet实验(玩转流表)
  10. 开发日记:Windows进程守护工具