首页 > 解决方案 > 无法访问/找到静态图像的文件夹

问题描述

我尝试遵循这个这个这个,但对我没有任何作用 - 我有一个名为的目录media,其中上传了文件 - 但我无法使用http://127.0.0.1:8000/media/访问它- 找不到页面(404 )。

我的设置.py:

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'PROJECT/static'),
]

MEDIA_ROOT = os.path.join(BASE_DIR, "media/")
MEDIA_URL = "/media/"

和我的 urls.py:

from django.contrib import admin
from django.urls import path, include
from django.contrib.auth import views as auth_views
from django.views.generic.base import RedirectView, 
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('home/', RedirectView.as_view(url='/')),
    path('admin/', admin.site.urls),
    path('', include('appname.urls')),
    path('', include('django.contrib.auth.urls')),
    path(r'^login', auth_views.LoginView.as_view(template_name='registration/login.html')),
]

if settings.DEBUG is True:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

奖金问题,因为直到现在我都无法尝试:如何filename.jpg在模板中使用 /media/ 访问图像?

我通过反复试验解决了这个问题:

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'projectname/static'),
]

MEDIA_ROOT = os.path.join(BASE_DIR, "projectname", "media")
MEDIA_URL = "/media/"

标签: djangodjango-templatesdjango-staticfiles

解决方案


试试看

your_app urls.py

from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
   ....
]
urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

设置.py

STATIC_URL = "/static/"
STATICFILES_DIRS = (
  os.path.join(BASE_DIR, "static")
)
STATIC_ROOT = (
  os.path.join(BASE_DIR, "staticfiles")
)

MEDIA_URL = "/media/"
MEDIA_ROOT = (
  os.path.join(BASE_DIR, "media")
)

推荐阅读