动态导入Django中的url提供';str';对象不可调用

动态导入Django中的url提供';str';对象不可调用,django,Django,我正在尝试编写一些代码,以便在django项目中动态导入“类似插件”的应用程序。我正在使用Django 1.10 我对django.apps.AppConfig类进行了子类化,并使用它来标记插件: from django.apps import AppConfig class AutomationAppConfig(AppConfig): def get_url(self): return self.name 然后,在我的项目main urls.py中,我在主“静态”u

我正在尝试编写一些代码,以便在django项目中动态导入“类似插件”的应用程序。我正在使用Django 1.10

我对
django.apps.AppConfig
类进行了子类化,并使用它来标记插件:

from django.apps import AppConfig
class AutomationAppConfig(AppConfig):
    def get_url(self):
        return self.name
然后,在我的项目main urls.py中,我在主“静态”urlpatterns初始化之后添加了以下代码:

...

from slae.util import AutomationAppConfig
from django.apps import apps

for module in iter(apps.get_app_configs()):
    if isinstance(module, AutomationAppConfig):
        url = module.get_url()
        urlpatterns.append(url(r'^%s/' % url, include('%s.urls' % module.name), name = module.name))
但当服务器(重新)加载时,会出现以下错误


我缺少什么?

url
是在django.conf.urls的
中定义的函数。但是,代码中的下一行将覆盖此变量并在其中存储一个字符串

url = module.get_url()
将此变量更改为其他变量,例如:

url_route = module.get_url()
urlpatterns.append(url(r'^%s/' % url_route, include('%s.urls' % module.name), name = module.name))

非常感谢。我确信这是微不足道的,我只是看不见。。。我觉得自己很笨
url = module.get_url()
url_route = module.get_url()
urlpatterns.append(url(r'^%s/' % url_route, include('%s.urls' % module.name), name = module.name))