Python 找不到页面404 Django媒体文件
我可以将文件上载到我在Python 找不到页面404 Django媒体文件,python,django,http-status-code-404,django-settings,django-media,Python,Django,Http Status Code 404,Django Settings,Django Media,我可以将文件上载到我在settings.py中设置的媒体文件夹('/peaceroot/www/media/'),如下所示 MEDIA_ROOT = '/peaceroot/www/media/' MEDIA_URL = '/media/' 但通过管理员我试图访问上传的图像文件 然后我得到404错误 该文件位于peaceroot/www/media/items/1a39246c-4160-4cb2-a842-12a1ffd72b3b.jpg在项目url模式中添加媒体url条目: from d
settings.py
中设置的媒体文件夹('/peaceroot/www/media/'
),如下所示
MEDIA_ROOT = '/peaceroot/www/media/'
MEDIA_URL = '/media/'
但通过管理员我试图访问上传的图像文件
然后我得到404错误
该文件位于peaceroot/www/media/items/1a39246c-4160-4cb2-a842-12a1ffd72b3b.jpg在项目url模式中添加媒体url条目:
from django.conf.urls.static import static
from django.conf import settings
...
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
媒体根更好的方式是 当您改变项目时,尝试使媒体路径动态化将很容易 设置.py
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')
MEDIA_URL = '/media/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
url.py
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
看看这个
补充一点:如果其他答案对您不起作用,请尝试将静态url放在其他url之前。像这样:
urlpatterns = static(...) + [...]
可能发生的情况是,列表中的一些模式会阻止请求到达静态处理程序。因此,首先使用静态处理程序可以解决这个问题。为我工作 在我的开发服务器中,我通过在settings.py中注释掉这些行来修复它
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')
MEDIA_URL = '/media/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
在模板中,通过锚标记创建链接,并在该文件对象的末尾添加.url e、 g
{%用于post%中的post}
{%endfor%}
这是一个服务器错误。我假设您正在使用Nginx。只需将其添加到您的Nginx配置文件(/etc/Nginx/sites available/example.com)的location/static下即可/
location /media/ {
root /home/user/myprojectdir;
}
在这里,user应该是您创建的用户名,myprojectdir应该是您的项目目录
STATIC\u URL
应该是MEDIA\u URL
并且确保添加STATIC(settings.MEDIA\u URL,document\u root=settings.MEDIA\u root)
在主项目应用程序的url.py
文件中,而不是在其他已安装的应用程序中。在我的例子中,我做得不对,因此面临问题。指向文档的链接:。注意:“仅在调试模式下工作”和“不适合生产使用!”。