错误在include()中指定名称空间但未提供app_name

时间:2019-08-01 06:10:25

标签: django ethereum metamask

当我尝试项目运行服务器时,此错误

File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\apple\Desktop\web3start\tests\urls.py", line 8, in <module>
    url(r'^', include('web3auth.urls', namespace='web3auth')),
  File "C:\Users\apple\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\urls\conf.py", line 39, in include
    'Specifying a namespace in include() without providing an app_name '
django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in
the included module, or pass a 2-tuple containing the list of patterns and app_name instead.

出来。

conf.py

 if isinstance(urlconf_module, str):
        urlconf_module = import_module(urlconf_module)
    patterns = getattr(urlconf_module, 'urlpatterns', urlconf_module)
    app_name = getattr(urlconf_module, 'app_name', app_name)
    if namespace and not app_name:
        raise ImproperlyConfigured(
            'Specifying a namespace in include() without providing an app_name '
            'is not supported. Set the app_name attribute in the included '
            'module, or pass a 2-tuple containing the list of patterns and '
            'app_name instead.',

urls.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals, absolute_import

from django.conf.urls import url, include


urlpatterns = [
    url(r'^', include('web3auth.urls', namespace='web3auth')),
]

我该怎么办??我需要直接写一个特定的代码!

1 个答案:

答案 0 :(得分:0)

正如错误所述,您需要在web3auth/urls.py内设置app_name属性。例如:

# web3auth/urls.py

from django.urls import path
from . import views

app_name = 'web3auth'

urlpatterns = [
    ...
]

您也可以签出documentation