【发布时间】:2019-06-27 19:12:52
【问题描述】:
我正在尝试制作一个可以通过管理端上传图片的应用程序,localhost:8000/admin/example,但是当我上传图片时,当我转到图片 URL 时,它会给我一个 404 错误。
我是 Django 和 python 的新手,所以我正在尝试了解它们。
这是我的模型、URL 和设置
models.py
item_image = models.ImageField(upload_to = "static/images/products" )
urls.py
from django.conf.urls.static import static
from django.conf import settings
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('<int:item_id>/', views.detail, name='detail'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
settings.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_ROOT = os.path.realpath(os.path.dirname(__file__))
MEDIA_ROOT = PROJECT_ROOT + '/static/images/products/'
MEDIA_URL = '/media/'
html文件
<img src={{item.item_image.url}}>
【问题讨论】:
-
能否将错误信息添加到问题中?
-
错误信息截图:https://imgur.com/VofsMTN
-
问题可能出在您的 urls.py 上。我试图复制问题,发现您正在尝试在 django 应用程序的 urls.py 文件中添加静态文件路径。因此,您应该在 url 中的 /media 之前添加应用程序的名称,例如 /example/media/static/images/products/image_name.jpg。如果你想从 /media 访问图片,你应该在 django 'project' 而不是 app 的 urls.py 中添加“static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)”。
标签: python django django-models django-views django-imagekit