python-是否可以在Django项目中重新定义反向?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-是否可以在Django项目中重新定义反向?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1139字,纯文字阅读大概需要2分钟。
内容图文
我有一些自定义逻辑,即使URL对于第三方应用程序,URL每次反向都需要执行.我的项目是一个多租户Web应用程序,并且根据URL标识了租户.没有一个有效的URL不包含租户标识符.
我已经有了逆向包装函数,但是现在我需要一种方法来告诉每个已安装的应用程序使用它.反向包装器使用局部线程将标识符注入到结果URL中.我可以将这个功能写为反向装饰器,但是我不知道在哪里进行实际装饰.
中度公司约束:我已经在使用3个第三方应用程序,并且可能还会添加更多.解决方案不应要求我修改所有这些第三方应用程序的源代码.如果有更简单的方法,我不喜欢在多个第三方源代码树的顶部维护补丁的想法.我可以使文档清楚地表明反向装饰已被装饰.
最初的问题:我在哪里可以进行这样的更改以保证它适用于每次反向调用?
可能的替代问题:有什么更好的方法来确保每个URL(包括由第三方应用生成的URL)都获得租户标识符?
顺便说一句,除了在URL中嵌入tenant-id之外,我愿意提供一种更好的方法来处理任何此类问题.这个决定现在已经定下来了.谢谢.
谢谢.
解决方法:
使django reverse被ur_reverse代替的唯一方法是
django.core.urlresolvers.reverse = ur_reverse
或者如果您喜欢装饰语法糖
django.core.urlresolvers.reverse = ur_reverse_decorator(django.core.urlresolvers.reverse )
除非您不愿意使用ur_reverse更改对reverse的每种用法,否则我不建议这样做(很多人会大喊)
内容总结
以上是互联网集市为您收集整理的python-是否可以在Django项目中重新定义反向?全部内容,希望文章能够帮你解决python-是否可以在Django项目中重新定义反向?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。