在Django框架中伪造捕捉到的URLconf值的方法

 更新时间:2015年07月18日 11:57:21   投稿:goldensun  
这篇文章主要介绍了在Django框架中伪造捕捉到的URLconf值的方法,Django是Python各色人气框架中最为著名的一个,需要的朋友可以参考下

比如说你有匹配某个模式的一堆视图,以及一个并不匹配这个模式但视图逻辑是一样的URL。 这种情况下,你可以通过向同一个视图传递额外URLconf参数来伪造URL值的捕捉。

例如,你可能有一个显示某一个特定日子的某些数据的应用,URL类似这样的:

/mydata/jan/01/
/mydata/jan/02/
/mydata/jan/03/
# ...
/mydata/dec/30/
/mydata/dec/31/

这太简单了,你可以在一个URLconf中捕捉这些值,像这样(使用命名组的方法):

urlpatterns = patterns('',
  (r'^mydata/(?P<month>\w{3})/(?P<day>\d\d)/$', views.my_view),
)

然后视图函数的原型看起来会是:

def my_view(request, month, day):
  # ....

这种解决方案很直接,没有用到什么你没见过的技术。 当你想添加另外一个使用 my_view 视图但不包含month和/或者day的URL时,问题就出现了。

比如你可能会想增加这样一个URL, /mydata/birthday/ , 这个URL等价于 /mydata/jan/06/ 。这时你可以这样利用额外URLconf参数:

urlpatterns = patterns('',
  (r'^mydata/birthday/$', views.my_view, {'month': 'jan', 'day': '06'}),
  (r'^mydata/(?P<month>\w{3})/(?P<day>\d\d)/$', views.my_view),
)

在这里最帅的地方莫过于你根本不用改变你的视图函数。 视图函数只会关心它 获得 了 参数,它不会去管这些参数到底是捕捉回来的还是被额外提供的。month和day

相关文章

  • Python实现的旋转数组功能算法示例

    Python实现的旋转数组功能算法示例

    这篇文章主要介绍了Python实现的旋转数组功能算法,结合实例形式总结分析了数组旋转算法的原理与实现技巧,需要的朋友可以参考下
    2019-02-02
  • Python实现多格式文本转为word

    Python实现多格式文本转为word

    在现代工作中,我们常常需要处理不同格式的文件,其中Word文档是最为常见的一种,本文主要介绍了如何使用Python创建一个全能的文件处理工具,能够将多种格式的文件转换为Word文档,需要的可以参考下
    2023-11-11
  • 利用Python requests库爬取高德地图全国地铁站点信息

    利用Python requests库爬取高德地图全国地铁站点信息

    requests 模块是 python 基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库,它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求,这篇文章主要介绍了利用Python requests库爬取高德地图全国地铁站点信息,需要的朋友可以参考下
    2024-03-03
  • 树莓派3 搭建 django 服务器的实例

    树莓派3 搭建 django 服务器的实例

    今天小编就为大家分享一篇树莓派3 搭建 django 服务器的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python数据分析之彩票的历史数据

    Python数据分析之彩票的历史数据

    这篇文章主要介绍了Python数据分析之彩票的历史数据,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • python监控文件或目录变化

    python监控文件或目录变化

    这篇文章主要为大家详细介绍了python监控文件或目录变化的实现代码,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • python编写脚本之pyautogui的安装和使用教程

    python编写脚本之pyautogui的安装和使用教程

    pyautogui一个神奇的图像自动化库,学会之后无所不能,下面这篇文章主要给大家介绍了关于python编写脚本之pyautogui的安装和使用的相关资料,需要的朋友可以参考下
    2021-12-12
  • TensorFlow-gpu和opencv安装详细教程

    TensorFlow-gpu和opencv安装详细教程

    这篇文章主要介绍了TensorFlow-gpu和opencv安装过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • python里读写excel等数据文件的6种常用方式(小结)

    python里读写excel等数据文件的6种常用方式(小结)

    这篇文章主要介绍了python里读写excel等数据文件的6种常用方式(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 详解Python读取和写入操作CSV文件的方法

    详解Python读取和写入操作CSV文件的方法

    CSV 文件(逗号分隔值文件)是一种纯文本文件,它使用特定的结构来排列表格数据。本文将详细介绍Python中读取个写入操作CSV文件的方法,需要的可以参考一下
    2022-03-03

最新评论