iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python Django如何获取URL中的数据
  • 558
分享到

Python Django如何获取URL中的数据

2023-06-25 12:06:30 558人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下python Django如何获取URL中的数据,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!DjanGo获取URL中的数据URL中的参数一般有两种形式。如下所示:1. https://zy01

小编给大家分享一下python Django如何获取URL中的数据,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

    DjanGo获取URL中的数据

    URL中的参数一般有两种形式。如下所示:

    1. https://zy010101.blog.csdn.net/article/details/1208169542. Https://so.csdn.net/so/search?q=Django&t=blog&u=zy010101

    我们将第一种形式称为“URL路径参数”;第二种形式称为“URL关键字形式”。下面讲述如何在Django中获取这两种形式的数据。

    URL路径参数

    使用path函数
    from django.urls import pathfrom . import viewsurlpatterns = [    path('articles/2003/', views.special_case_2003),    path('articles/<int:year>/', views.year_arcHive),    path('articles/<int:year>/<int:month>/', views.month_archive),    path('articles/<int:year>/<int:month>/<slug:slug>/', views.article_detail),]

    关于这段URL的解释说明,直接参考Django官方文档即可。

    为了防止有时候进不去文档,我将官方文档也直接贴在下面:

    Python Django如何获取URL中的数据

    使用re_path函数

    如果,使用path函数并不能满足你匹配URL的要求,那么可以使用re_path函数来使用正则表达式来匹配URL路径中的参数。需要注意在Django中,使用正则表达式来获取分组中的值的语法是(?P<name>pattern),其中 name 是组名,pattern 是要匹配的模式。

    from django.urls import path, re_pathfrom . import viewsurlpatterns = [    path('articles/2003/', views.special_case_2003),    re_path(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),    re_path(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$', views.month_archive),    re_path(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<slug>[\w-]+)/$', views.article_detail),]

    这段URL配置的说明可以参考使用正则表达式

    同样,为了防止有时候进不去文档,我将官方文档也直接贴在下面:

    Python Django如何获取URL中的数据

    需要特别注意的是,正则表达式进行匹配之后,捕获的参数都作为字符串传递给视图函数(视图类)。

    URL关键字形式

    通常,除了在URL路径中传递数据,也可以在URL参数中进行数据传递。例如:

    http://www.demo.com/index?keys=123&values=qwe

    这段URL传递了参数keys和values,它们的值分别是123,qwe.

    在此之前,先来介绍一下前备条件QueryDict。

    HttpRequest对象的属性GET、POST都是QueryDict类型的对象

    Django获取URL关键字参数可以通过HttpRequest.GET属性来获取。例如:

    def test(request):    a = request.GET.get("a")    b = request.GET.get("b")    c = request.GET.get("c")    a_all = request.GET.getlist("a")    res = a+'<br>'+b+'<br>'+c+'<br>'+str(a_all)    return HttpResponse(res)

    现在使用如下的URL进行请求:

    http://127.0.0.1:8008/test?a=1&a=2&b=3&c=4

    页面显示如下所示:

    Python Django如何获取URL中的数据

    查询字符串不区分请求方式,即假使客户端进行POST方式的请求,依然可以通过request.GET获取请求中的查询字符串数据。

    看完了这篇文章,相信你对“Python Django如何获取URL中的数据”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网Python频道,感谢各位的阅读!

    --结束END--

    本文标题: Python Django如何获取URL中的数据

    本文链接: https://www.lsjlt.com/news/304517.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作