我有一個django站點。與所有標準網站一樣,它使用URLConfs將URL與視圖相關聯。不過,除此之外,我還有一些URL配置可以從數據庫中的數據動態生成。一切正常,因爲我喜歡它。動態地爲正在運行的站點重新加載URLConfs
是否有可能重新加載站點運行時,從代碼的所有URLConfs?如果有人更新數據庫並更改網站中的某些網址,我想觸發所有網址的「重新發現」。這會導致我的代碼從數據庫中的數據動態地重新創建URL。
目前,生成的URL可以位於URL層次結構中的任何位置。它們不是全部在一個前綴之下,例如/ dynamic/
等。但是,如果這是完成我需要完成的工作所必需的,我可以將所有動態URL放在一個前綴下。
在重新發現URL時,網站允許一些停機時間。
我將如何觸發所有URLConfs的重新加載?
我不得不在德州論壇報上做同樣的事情。我們使用重定向框架來支持我們的舊URL方案,同時實現一個新的URL方案,並且它像一個魅力一樣工作。它可能並不完全適合你的需求,但可能會給你一些想法。 – Brandon
沒有必要維護舊的網址並將其重定向到新網址。我想我的問題更簡單。當有人添加一個對應於新URL的新數據庫條目時,如何重新加載URLConfs。目前,我有一個url.py文件,它從DB創建urlpatterns。我將如何觸發從代碼重新加載所有urlpatterns? –
如何讓你的urlpatterns成爲一個getter的屬性,每次Django訪問它時都會調用它? –