在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的iOS自动化打包实例代码

    Python的iOS自动化打包实例代码

    这篇文章主要给大家介绍了关于Python的iOS自动化打包的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • python批量生成本地ip地址的方法

    python批量生成本地ip地址的方法

    这篇文章主要介绍了python批量生成本地ip地址的方法,实例分析了Python实现生成本地IP地址并绑定到网卡上的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • pytest allure添加环境信息实例讲解

    pytest allure添加环境信息实例讲解

    这篇文章主要介绍了pytest allure添加环境信息实例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)

    python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)

    这篇文章主要介绍了python实现的随机迷宫生成算法核心代码分享,本文包含一个简单迷宫游戏完整代码,需要的朋友可以参考下
    2014-07-07
  • 深入解读Python如何进行文件读写

    深入解读Python如何进行文件读写

    文件的作用 就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力,本文将带你了解通过python如何进行文件的读写操作
    2021-10-10
  • python 快速排序代码

    python 快速排序代码

    闲来无事写了个python快排序
    2009-11-11
  • python筛选出两个文件中重复行的方法

    python筛选出两个文件中重复行的方法

    这篇文章主要为大家详细介绍了python筛选出两个文件中重复行的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Python解析nginx日志文件

    Python解析nginx日志文件

    Web服务器的各种系统管理工作包括了多Nginx/Apache 日志的统计,python使这个任务变得极其简单,下面我们来详细讲解下具体的做法,有需要的小伙伴可以参考下。
    2015-05-05
  • Python 新建文件夹与复制文件夹内所有内容的方法

    Python 新建文件夹与复制文件夹内所有内容的方法

    今天小编就为大家分享一篇Python 新建文件夹与复制文件夹内所有内容的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python英语单词测试小程序代码实例

    python英语单词测试小程序代码实例

    这篇文章主要介绍了python英语单词测试小程序代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09

最新评论