【发布时间】:2018-01-20 20:29:39
【问题描述】:
我正在尝试使用 django 提供数据库中的图像,但是当我添加时
+ 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_url 如下:
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的程度如何准确?