Django - 'module'对象不可调用

3
我尝试使用Django从数据库中提供图片,但是当我添加了

后,出现了一个HTML解析错误。
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

当我访问urlpatterns时,出现了以下错误:TypeError at /: module object is not callable

这是追踪信息:

File "/home/watch/Documents/projects/herokuapp/venv/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
  35.             response = get_response(request)

File "/home/watch/Documents/projects/herokuapp/venv/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  113.         resolver_match = resolver.resolve(request.path_info)

File "/home/watch/Documents/projects/herokuapp/venv/lib/python3.6/site-packages/django/urls/resolvers.py" in resolve
  494.             for pattern in self.url_patterns:

File "/home/watch/Documents/projects/herokuapp/venv/lib/python3.6/site-packages/django/utils/functional.py" in __get__
  36.         res = instance.__dict__[self.name] = self.func(instance)

File "/home/watch/Documents/projects/herokuapp/venv/lib/python3.6/site-packages/django/urls/resolvers.py" in url_patterns
  536.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)

File "/home/watch/Documents/projects/herokuapp/venv/lib/python3.6/site-packages/django/utils/functional.py" in __get__
  36.         res = instance.__dict__[self.name] = self.func(instance)

File "/home/watch/Documents/projects/herokuapp/venv/lib/python3.6/site-packages/django/urls/resolvers.py" in urlconf_module
  529.             return import_module(self.urlconf_name)

File "/usr/lib/python3.6/importlib/__init__.py" in import_module
  126.     return _bootstrap._gcd_import(name[level:], package, level)

File "<frozen importlib._bootstrap>" in _gcd_import
  994. <source code not available>

File "<frozen importlib._bootstrap>" in _find_and_load
  971. <source code not available>

File "<frozen importlib._bootstrap>" in _find_and_load_unlocked
  955. <source code not available>

File "<frozen importlib._bootstrap>" in _load_unlocked
  665. <source code not available>

File "<frozen importlib._bootstrap_external>" in exec_module
  678. <source code not available>

File "<frozen importlib._bootstrap>" in _call_with_frames_removed
  219. <source code not available>

File "/home/watch/Documents/projects/herokuapp/mysite/mysite/urls.py" in <module>
  27. ]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Exception Type: TypeError at /
Exception Value: 'module' object is not callable

我尝试在主urls.py和应用程序urls.py中使用它,但是没有生效。

我的media_root和media_urls如下:

abspath = lambda *p: os.path.abspath(os.path.join(*p))

PROJECT_ROOT = abspath(os.path.dirname(__file__))

MEDIA_ROOT = abspath(PROJECT_ROOT, 'media')
MEDIA_URL = '/media/'

我尝试了重新导入所有内容。
from django.conf.urls import *

但是它依然没有起作用。

编辑,这些是我的导入内容:

from django.conf.urls import url, include
from django.contrib import admin
from django.conf.urls import static
from django.conf import settings

我正在使用最新版本的Django,并在Heroku上部署(本地使用heroku local)。


你需要展示在那个文件中你正在使用的导入。你是如何确切地导入“static”的? - Daniel Roseman
2个回答

25

改变

from django.conf.urls import static

from django.conf.urls.static import static

然后你就可以开始了。


-1
from django.conf.urls.static import static

写下这行代码,而不是:
from django.conf.urls import static

你好,你可以使用代码块来格式化你的代码,使其更易读,使用反引号如下所示:from django.conf.urls.static import static - Yacine Mahdid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接