gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章在Django框架中伪造捕捉到的URLconf值的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

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

?
1
2
3
4
5
6
/ mydata / jan / 01 /
/ mydata / jan / 02 /
/ mydata / jan / 03 /
# ...
/ mydata / dec / 30 /
/ mydata / dec / 31 /

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

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

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

?
1
2
def my_view(request, month, day):
   # ....

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

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

?
1
2
3
4
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 。

最后此篇关于在Django框架中伪造捕捉到的URLconf值的方法的文章就讲到这里了,如果你想了解更多关于在Django框架中伪造捕捉到的URLconf值的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com