Python 获取表单选择字段django中的所有视图函数
我希望在表单选择字段中获得视图函数的所有名称 我在控制台中找到了一篇这样做的文章,但它在窗体中不起作用 我稍微修改了代码以满足我的需要。我创建了一个名为Python 获取表单选择字段django中的所有视图函数,python,django,python-2.7,django-forms,Python,Django,Python 2.7,Django Forms,我希望在表单选择字段中获得视图函数的所有名称 我在控制台中找到了一篇这样做的文章,但它在窗体中不起作用 我稍微修改了代码以满足我的需要。我创建了一个名为get\u views\u list.py的文件,并尝试导入all\u views\u list from M2.settings import ROOT_URLCONF from django.core.urlresolvers import RegexURLPattern, RegexURLResolver all_urlpatterns
get\u views\u list.py的文件,并尝试导入all\u views\u list
from M2.settings import ROOT_URLCONF
from django.core.urlresolvers import RegexURLPattern, RegexURLResolver
all_urlpatterns = __import__(ROOT_URLCONF).urls.urlpatterns
detail_views_list = []
def get_all_view_names(urlpatterns):
for pattern in urlpatterns:
if isinstance(pattern, RegexURLResolver):
get_all_view_names(pattern.url_patterns)
elif isinstance(pattern, RegexURLPattern):
detail_views_list.append(pattern.callback.__name__)
get_all_view_names(all_urlpatterns)
all_views_list = []
# remove redundant entries and specific ones we don't care about
for each in detail_views_list:
if each not in "serve add_view change_view changelist_view history_view delete_view RedirectView":
if each not in all_views_list:
all_views_list.append(each)
但这表明了错误
Unhandled exception in thread started by <function wrapper at 0x7f93f019cb90>
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py", line 121, in inner_run
self.check(display_num_errors=True)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 374, in check
include_deployment_checks=include_deployment_checks,
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 361, in _run_checks
return checks.run_checks(**kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/core/checks/registry.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "/usr/local/lib/python2.7/dist-packages/django/core/checks/urls.py", line 14, in check_url_config
return check_resolver(resolver)
File "/usr/local/lib/python2.7/dist-packages/django/core/checks/urls.py", line 24, in check_resolver
for pattern in resolver.url_patterns:
File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/local/lib/python2.7/dist-packages/django/urls/resolvers.py", line 313, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/usr/local/lib/python2.7/dist-packages/django/urls/resolvers.py", line 306, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/niloy/PycharmProjects/M2/M2/urls.py", line 21, in <module>
url(r'^user/', include('UserAccessControl.urls')),
File "/usr/local/lib/python2.7/dist-packages/django/conf/urls/__init__.py", line 50, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/niloy/PycharmProjects/M2/UserAccessControl/urls.py", line 17, in <module>
from .views import *
File "/home/niloy/PycharmProjects/M2/UserAccessControl/views.py", line 13, in <module>
from get_views_list import all_views_list
File "/home/niloy/PycharmProjects/M2/UserAccessControl/get_views_list.py", line 4, in <module>
all_urlpatterns = __import__(ROOT_URLCONF).urls.urlpatterns
AttributeError: 'module' object has no attribute 'urls'
由启动的线程中未处理的异常
回溯(最近一次呼叫最后一次):
包装器中的文件“/usr/local/lib/python2.7/dist packages/django/utils/autoreload.py”,第226行
fn(*args,**kwargs)
文件“/usr/local/lib/python2.7/dist packages/django/core/management/commands/runserver.py”,第121行,在内部运行
self.check(display\u num\u errors=True)
文件“/usr/local/lib/python2.7/dist-packages/django/core/management/base.py”,第374行,选中
包括部署检查=包括部署检查,
文件“/usr/local/lib/python2.7/dist-packages/django/core/management/base.py”,第361行,in\u-run\u检查
返回检查。运行检查(**kwargs)
文件“/usr/local/lib/python2.7/dist packages/django/core/checks/registry.py”,第81行,在运行检查中
新建错误=检查(应用程序配置=应用程序配置)
文件“/usr/local/lib/python2.7/dist packages/django/core/checks/url.py”,第14行,在check\u url\u config中
返回检查\u分解器(分解器)
文件“/usr/local/lib/python2.7/dist packages/django/core/checks/url.py”,第24行,在check\u解析器中
对于resolver.url\u模式中的模式:
文件“/usr/local/lib/python2.7/dist-packages/django/utils/functional.py”,第35行,在__
res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
文件“/usr/local/lib/python2.7/dist packages/django/url/resolvers.py”,第313行,url_模式
patterns=getattr(self.urlconf_模块,“urlpatterns”,self.urlconf_模块)
文件“/usr/local/lib/python2.7/dist-packages/django/utils/functional.py”,第35行,在__
res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
文件“/usr/local/lib/python2.7/dist packages/django/url/resolvers.py”,第306行,在urlconf_模块中
返回导入_模块(self.urlconf_名称)
文件“/usr/lib/python2.7/importlib/_init_uuu.py”,第37行,在导入模块中
__导入(名称)
文件“/home/niloy/PycharmProjects/M2/M2/url.py”,第21行,在
url(r“^user/”,包括('UserAccessControl.url'),
文件“/usr/local/lib/python2.7/dist packages/django/conf/urls/_init__.py”,第50行,include中
urlconf_模块=导入_模块(urlconf_模块)
文件“/usr/lib/python2.7/importlib/_init_uuu.py”,第37行,在导入模块中
__导入(名称)
文件“/home/niloy/PycharmProjects/M2/UserAccessControl/url.py”,第17行,在
从。视图导入*
文件“/home/niloy/PycharmProjects/M2/UserAccessControl/views.py”,第13行,在
从获取视图列表导入所有视图列表
文件“/home/niloy/PycharmProjects/M2/UserAccessControl/get_views_list.py”,第4行,在
all_urlpatterns=__导入__(ROOT_URLCONF).url.urlpatterns
AttributeError:“模块”对象没有属性“URL”