【发布时间】:2021-07-30 10:15:28
【问题描述】:
模型.py
class BaseLogo(models.Model):
logolabel = models.CharField(max_length = 100, null = False, blank = False)
logoimage = models.ImageField(null = False, blank = False)
def __str__(self):
return self.logolabel
Views.py
def base(request):
baselogo = get_object_or_404(BaseLogo, pk=1)
context = {
'baselogo': baselogo,
}
return render(request, 'pages/base.html', context)
Settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS= [os.path.join(BASE_DIR, 'static')]
STATIC_ROOT = '/home/flababu/VCASite/staticfiles/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
模板
<a class="nav-brand" href="{% url 'main-home' %}">
<img src="{{ baselogo.logoimage.url }}" alt="VCAAT Logo" title="VCAAT Logo"
style="width: 60px; height: 60px; float: left; margin-left: 20px; margin-right: 20px;"></a>
注意事项:
- 它在导航栏中
- 我有一个图库应用,我也有头像,所以我之前可以传递图片。
- 网站在pythonanywhere上传。
- 我在管理页面上传了一张图片
我不明白为什么我的图片(徽标)不会出现。
【问题讨论】:
-
Django 不在生产环境中提供媒体文件,因为它可能不安全且效率低下。您需要配置 nginx/apache/... 以提供媒体/静态文件。
标签: python django django-models django-views django-templates