django - 未找到:django 中的 /media/media/photos/e.jpg
问题描述
我已经在 Web 服务器上部署了一个项目。在我的项目中,一切正常,但我无法在个人资料页面上打印图像。在我的本地环境中,一切正常,但在已部署的版本上,我收到以下错误:未找到:django 中的/media/media/photos/e.jpg。
模型.py
class Matr(models.Model):
photo = models.ImageField(upload_to='media/photos/', null=True,
blank=True)
设置.py
MIDIA_ROOT=os.path.join(BASE_DIR,'media')
MEDIA_URL='/media/'
网址.py
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
profile.html
{% if user.matr.photo %}
<img src="{{ user.matr.photo.url }}" width="330">
{% endif %}
解决方案
尝试这个
模型.py
class Matr(models.Model):
photo = models.ImageField()
设置.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media_root')
网址.py
if settings.DEBUG:
import debug_toolbar
urlpatterns += [path('__debug__/', include(debug_toolbar.urls))]
urlpatterns += static(settings.MEDIA_URL,
document_root=settings.MEDIA_ROOT)
profile.html
<img src="{{ user.matr.photo.url }}">
并确保在上传照片后,您在“media_root”库中有该照片。
推荐阅读
- python - 将新列添加到具有基于多个条件的值的数据框中
- javascript - Vuetify/Vue2 v-on 使 div 在悬停和单击时突出显示,我该如何阻止呢?
- php - php echo 干扰 echo json_encode
- vba - 我想添加一个名为序列号的列并填写该列直到 n 其中 n 是相邻列中的项目数
- ruby-on-rails - 如何在不存储照片的情况下上传照片以生成 PDF
- visual-studio-code - Visual Studio Code 项目文件夹不工作
- reactjs - 使用 getInitialProps 给出 TypeError: Cannot read property 'map' of undefined
- google-chrome - 从 Chrome 扩展发出的 XHR 请求是否与从网页发出的 XHR 具有相同的浏览器指纹?
- asp.net-core - Razor 页面路由和文件系统路由
- css - 将未知数量的具有不同高度的 div 对齐