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函数的定义及参数

python 3.url了解与基础使用的更多相关文章

  1. Python处理URL编码

    我们在访问网站时,有很多连接都是有一些特殊符号组成,例如,我在百度搜索“大鱼海棠”,结果可以看到它的搜索出来的链接是: https://www.baidu.com/s?wd=%E5%A4%A7%E9% ...

  2. Python爬虫入门有哪些基础知识点

    1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. ...

  3. python爬虫之Beautiful Soup基础知识+实例

    python爬虫之Beautiful Soup基础知识 Beautiful Soup是一个可以从HTML或XML文件中提取数据的python库.它能通过你喜欢的转换器实现惯用的文档导航,查找,修改文档 ...

  4. 利用Python进行数据分析(12) pandas基础: 数据合并

    pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法c ...

  5. 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片

    概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...

  6. 利用Python进行数据分析(9) pandas基础: 汇总统计和计算

    pandas 对象拥有一些常用的数学和统计方法.   例如,sum() 方法,进行列小计:   sum() 方法传入 axis=1 指定为横向汇总,即行小计:   idxmax() 获取最大值对应的索 ...

  7. 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作

    一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...

  8. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  9. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

随机推荐

  1. java SDK服务端推送 --极光推送(JPush)

    网址:https://blog.csdn.net/duyusean/article/details/86581475 消息推送在APP应用中越来越普遍,来记录一下项目中用到的一种推送方式,对于Andr ...

  2. nestjs pm2 启动 静态文件404报错

    不要直接使用pm2 start 可执行文件,静态文件会显示404. 使用如下方式:

  3. Error creating bean with name 'userRepository': Invocation of init method failed;

    2019-11-25 19:43:49.482 INFO 6528 --- [ main] c.g.c.y.core.impl.AbstractController : Controller has ...

  4. springmvc@RequestMapping-params参数规则

    springmvc@RequestMapping-params参数规则 https://blog.csdn.net/qq_33439525/article/details/78193190 版权声明: ...

  5. javascript常用方法 - Array

    //1.Aarry方法 // 1.1 Array.from(arrayLike[, mapFn[, thisArg]]) // @arrayLike 想要转换成数组的伪数组对象或可迭代对象. // @ ...

  6. 两行命令查看自己笔记本连接的wifi密码

    打开cmd.exe窗口 第一行命令 netsh wlan show profiles 可以查看所有曾经连接过的wifi 第二命令 netsh wlan show profiles "vivo ...

  7. 2019年计算机技术与软件专业技术资格(水平)考试安排v

    根据<关于2019年度专业技术人员资格考试计划及有关问题的通知>(人社厅发[2018]142号)要求,2019年度计算机技术与软件专业技术资格(水平)考试(以下简称计算机软件资格考试)安排 ...

  8. ROS2 在WIN10下测试和安装

    博客参考:https://blog.csdn.net/cocoiehl/article/details/83351307 和 https://blog.csdn.net/weixin_38294178 ...

  9. what's the psutil模块

    what's the psutil模块 psutil 是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要用来做系统监控,性能分析,进程管理.它实现 ...

  10. https://www.jianshu.com/p/1038c6170775

    import os # 方法一: os.walk实现 def items_dir(rootname): l = [] for main_dir, dirs, file_name_list in os. ...