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. 【技术博客】基于JsPlumb和JQuery-UI的流程图的保存和再生成

    开发组在开发过程中,都不可避免地遇到了一些困难或问题,但都最终想出办法克服了.我们认为这样的经验是有必要记录下来的,因此就有了[技术博客]. 基于JsPlumb和JQuery-UI的流程图的保存和再生 ...

  2. /etc/resolv.conf options rotate

    timeout:n sets  the  amount  of time the resolver will wait for a response from a remote name server ...

  3. 字符串反转(java和js)

    写在前面 关于字符串反转的奇技淫巧很多, 会一种就行了, 但是解锁更多姿势可谓艺多不压身啊~~ 正文 java https://www.cnblogs.com/binye-typing/p/92609 ...

  4. C# RSA 无 长度限制 加密解密 示例

    RSA 是一种非对称加密算法.由于算法特性,加密和解密过程用不同密钥,即公钥和私钥,而被广泛应用于数字证书的安全管理. 在具体应用中,公钥用加密而私钥用于解密,或 私钥用于数字签名而公钥用于签名验证. ...

  5. JDBC 线程安全 数据库连接池

    jdbc 是线程安全的,但是,推荐一个线程用一个链接 JDBC is thread safe: It is quite OK to pass the various JDBC objects betw ...

  6. github加速

    访问 https://www.ipaddress.com/ 找到以下网址对应的ip,在本地hosts里面映射,或者到路由器内映射好即可. github.com assets-cdn.github.co ...

  7. vue 动态路由跳转在新窗口打开

    let routeUrl =this.$router.resolve({path: '/home'}) window.open(routeUrl.href, '_blank');

  8. python万能消费框架,新增7种中间件(或操作mq的包)和三种并发模式。

    新增的中间件和并发模式见注释. 消息队列中间件方面celery支持的,都要支持.并发模式,celery支持的都要支持. 从无限重复相似代码抽取框架,做成万能复用,是生产力的保障. 使用模板模式使加新中 ...

  9. OpenShift 3.11离线环境的jenkins演示

    离线安装完成后,一般情况下只装了个基础环境,catalog镜像没有导入,本文主要侧重在jenkins的一些环境设置和演示. 1.导入镜像 首先follow下面链接下载镜像 https://docs.o ...

  10. 在nginx环境下搭建https服务,代理到本地web项目

    安装过程略. 1.证书准备 本地调试,可以安装自签名证书,安装方法参考https本地自签名证书添加到信任证书访问 2.修改配置文件 将上面的配置文件拷贝到conf目录,添加或者修改节点如下 http{ ...