好的,经过一番调查后我发现了一个可能的解决方案。在等待答案的同时将留在这里作为参考。
不是加载包的网址,因为我使用经过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)