- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过 Django 管理员上传图片,然后在前端页面或仅通过 URL 查看该图片。
注意这一切都在我的本地机器上。
我的设置如下:
MEDIA_ROOT = '/home/dan/mysite/media/'
MEDIA_URL = '/media/'
我已将 upload_to 参数设置为 'images' 并且文件已正确上传到目录:
'/home/dan/mysite/media/images/myimage.png'
但是,当我尝试通过以下 URL 访问图像时:
http://127.0.0.1:8000/media/images/myimage.png
我收到 404 错误。
我是否需要为上传的媒体设置特定的 URLconf 模式?
感谢任何建议。
谢谢。
最佳答案
Django 更新 >= 1.7
根据 Django 2.1 文档:Serving files uploaded by a user during development
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = patterns('',
# ... the rest of your URLconf goes here ...
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
您不再需要 if settings.DEBUG
,因为 Django 会处理确保它仅在 Debug模式下使用。
Django 的原始答案 <= 1.6
尝试将其放入您的urls.py
from django.conf import settings
# ... your normal urlpatterns here
if settings.DEBUG:
# static files (images, css, javascript, etc.)
urlpatterns += patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT}))
有了这个,当 DEBUG = True
(当你在本地计算机上运行时),你可以从 Django 提供静态媒体,但是你可以让你的网络服务器配置在你进入生产时提供静态媒体,并且 DEBUG = False
关于python - Django MEDIA_URL 和 MEDIA_ROOT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5517950/
我想知道是否有可能,最好不要太困难,使用 Django DiscoverRunner 在每次测试之间删除我的媒体目录,包括在最开始和最后一次。我对 Django 1.7 中引入的新属性“test_su
如果我使用下面的代码,它将在项目文件夹下找到我的base.css: MEDIA_ROOT = os.path.join(os.path.abspath(os.path.dirname(__file_
你能给我推荐一些我可以理解 MEDIA_URL 和 MEDIA_ROOT 的好文档吗?这真的让我很困惑。 最佳答案 MEDIA_ROOT是文件系统上包含静态媒体的目录的路径。 MEDIA_URL是使静
我有一个 Django 应用程序,它显示由另一个监控应用程序创建的监控视频缩略图(作为各自视频的超链接),其方式比监控应用程序本地显示它们更适合我。 基本上,我有一个脚本,每半小时将文件从监视应用程序
我正在尝试让一个 User 上传文件(以某种语言),让另一个 User 下载文件以便他们翻译。 我已经设置了媒体根目录和媒体 url: MEDIA_ROOT = os.path.join(BASE_D
应该怎么做MEDIA_ROOT和 MEDIA_URL在 ImageField 的上下文中正确设置?我应该如何设置 upload_to ImageField 的参数?评论 MEDIA_ROOT和 MED
我已经通过官方文档和一些文章阅读了有关它们的内容,但我仍然感到困惑。就我现在所知,MEDIA_ROOT用于用户上传的图像和文件,而STATIC_ROOT用于js,css等。至于MEDIA_URL,是否
我对 Django 中的静态文件和媒体文件感到困惑。我在其他地方看到人们可以互换使用它。 我应该什么时候使用 media_root我什么时候应该使用 static_root ? 如果我有网站图片,我应
我正在尝试通过 Django 管理员上传图片,然后在前端页面或仅通过 URL 查看该图片。 注意这一切都在我的本地机器上。 我的设置如下: MEDIA_ROOT = '/home/dan/mysite
我正在尝试通过 Django 管理员上传图像,然后在前端页面或仅通过 URL 查看该图像。 请注意,这一切都在我的本地计算机上。 我的设置如下: MEDIA_ROOT = '/home/dan/mys
我正在使用此 STATIC_ROOT 和 MEDIA_ROOT 配置: STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BA
我想让我的 Django 测试创建和修改媒体文件。因此,就像 Django 测试对数据库所做的一样,我想在运行每个测试之前设置一个空的 MEDIA_ROOT 文件夹。 我想我会创建一个临时文件夹并将
Django 对 MEDIA_ROOT 到底做了什么?我一直不明白。由于 Django 本身不提供静态媒体服务,您必须为其设置 apache 或类似的东西,为什么它关心它位于哪个目录? 最佳答案 您不
我读过 this guide关于在开发过程中使用 Django 提供静态媒体。 我注意到这里没有使用 MEDIA_URL 和 MEDIA_ROOT。为什么?有什么区别? 我尝试用 MEDIA_URL
目前我想在 MEDIA_ROOT 文件夹下创建一个文件并将其保存到 FileField。我在 SO 网站上搜索,尝试了 django-how-to-create-a-file-and-save-it-
我可以使用 FileField 来处理文件,但将它存储在不低于 MEDIA_ROOT/MEDIA_URL 的地方吗?但完全在其他地方。 寻找是为了确保它不可下载;尽管拒绝读取权限可以解决这个问题,但希
我在 settings.py中有一个 Django 1.3 项目,此选项。 SITE_ROOT = os.path.dirname(os.path.realpath(__file__)) STATIC
在我的settings.py 文件中,STATIC_ROOT 和MEDIA_ROOT 目前都指向硬编码位置。例如STATIC_ROOT路径是: /home/ian/projectname/mysite
模型看起来像 class Cars(models.Model): name = models.CharFidle(max_length=255) price = models.Deci
我正在尝试使用 Mongoengine ImageField 上传图像。但是上传测试图片后,我访问http://127.x.x.x:xxxx/media/testimage.png找不到页面. Rai
我是一名优秀的程序员,十分优秀!