好的,經過一番調查後我發現了一個可能的解決方案。在等待答案的同時將留在這裏作爲參考。
不是加載包的網址,因爲我使用經過Django項目的變量封裝的URL,因此,意見的自定義功能的模塊。
而不是在項目的urls.py
所以:
url(r'^package/$', include('package.urls'))
我用
url(r'^package/$', obtain_package_urls(custom_content))
其中obtain_package_urls()是在包裝的功能:
def obtain_package_urls(custom_content):
urlpatterns = patterns('',
url(r'^url1$', view1, {'custom_content': custom_content},
url(r'^url2$', view2, {'custom_content': custom_content},
)
return (urlpatterns, None, None)
的目標是代替包含Django的靜態URL視圖映射的include函數來使用返回的函數是一個動態的URL視圖映射,包含在視圖中的自定義內容。
所以與算法有效條款我落得這樣做:
#Django project settings.py
obtain_algorithm_list():
return Algorithm.objects.all()
#Django project urls.py
from project.settings import obtain_algorithm_list
urlpatterns = ...
...
url(r'^package/$', obtain_package_urls(obtain_algorithm_list())
...
#In the package urls.py
urlpatterns = ...
url(r'^view1/$', view1, {'algorithms': algorithms},
...
#And then in each package view
def view(request, algorithms=[]):
...
use_for_something(algorithms)