我有应用程序 app1。它已连接(通过 INSTALLED_APPS
)app2;假设 app2 对我来说是某种黑盒子。但我知道 app2 在它的 url 中有一些 i18n_patterns。
我需要包含从 app2 到我的 app1 的所有 url。并将它们包含在根位置:
urlpatterns = ('',
(r'', include("app1.urls")),
(r'', include("app2.urls")),
)
因为 app2.urls 中的 i18n_patterns 这样的 include
会引发
配置不当(“不允许在包含的 URLconf 中使用 i18n_patterns。”)
源代码here
有没有办法在不了解它们的情况下将 app2.urls
中的所有 urlpatterns 附加到我的 urlpatterns
?
最佳答案
例如,您可以from app2.urls import urlpatterns as urlpatterns2
然后在您的 urls.py
最后执行此操作:
urlpatterns += urlpatterns2
# or maybe:
# urlpatterns += urlpatterns2[1:] if you don't want to include the initial attribute
这就像一个普通的列表连接,可能会起作用。
注意:这是克服包含限制的一些技巧。如果有更好的方法来做到这一点,我很想知道。
希望这对您有所帮助!
关于python - 动态扩展 urlpatterns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16721881/