django - 在 django 中添加个人资料图像不起作用
问题描述
我正在尝试将个人资料图片添加到我的页面,但由于某种原因,显示的是“我的图片”文本而不是图片。
我不知道我的代码有什么问题,我已经阅读了多个教程,它们都告诉我这样做。我的根目录中有一个文件夹“media”,里面有文件夹“profile_pics”。
我已将这些添加到 settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
这些到 urls.py
from django.conf import settings
from django.conf.urls.static import static
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
这是我的html
{% load static %}
{%block content%}
<div class="content-section">
<div class="media">
<img src="{% static "profile_pics/default.jpg" %}" alt="My image"/>
<div class="media-body">
<h2 class="account-heading">{{ user.username }}</h2>
<p class="text-secondary">{{ user.email }}</p>
</div>
</div>
</div>
{%endblock content%}
模型.py
class profiili(models.Model):
user=models.OneToOneField(User, on_delete=models.CASCADE)
kuva=models.ImageField(default='default.jpg', upload_to='profile_pics')
解决方案
{% static %}
标签仅适用于STATIC_URL
. 要获取媒体文件,您应该使用{% get_media_prefix %}
喜欢:
{% load static %}
{% get_media_prefix as MEDIA_PREFIX %}
<img src="{{ MEDIA_PREFIX }}profile_pics/default.jpg" alt="My image"/>
推荐阅读
- python - 将 pandas 列中的关键字与另一个元素列表匹配
- android - android.os.Looper 中的方法 myLooper 未使用 Coroutines 模拟
- python - 通过经过身份验证的用户 id 获取人员 id
- c++ - 查找名称的最直接声明的名称查找规则在哪里定义?
- c++ - 空对象正在调用一个方法,但程序没有崩溃……如何……为什么?
- vba - 扫雷的 VBA 随机地雷生成
- javascript - 循环遍历对象数组时调用方法
- pm2 - PM2 能否对标记为“错误”的进程采取措施
- android - 如何使用设备的加速度计检测运动增加然后突然停止?
- eigen - 对包含固定大小的 Eigen 类型的结构使用默认的 Eigen::aligned_allocator 是否危险?