我知道在模特中观点可能并不是最美好的事情,但是现在我想以这种方式解决我的问题。
在我的models.py中为我定义的一个类:
def admin_image(self):
return '<img src="/media/%s"/>' % self.thumbnail.photo
admin_image.allow_tags = True
但是我想这样而不是硬编码/媒体/将使用MEDIA_URL,但不知道如何调用它。我是django的新手,所以请善待:)
在我的settings.py中定义:
PROJECT_ROOT_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir))
MEDIA_ROOT = os.path.join(PROJECT_ROOT_PATH, 'media/')
MEDIA_URL = '/media/'
在admin.py中我使用readonly_fields = ['admin_image']
,然后在list_display和fieldsets中使用它。
答案 0 :(得分:1)
行。我想我明白了。无论如何评论如何更好地处理它将是apriciated。
在models.py中:
from django.conf import settings
def admin_image(self):
return '<img src="'+settings.MEDIA_URL+'%s"/>' % self.thumbnail.photo
admin_image.allow_tags = True
答案 1 :(得分:0)
仅在视图中附加媒体前缀。了解如何执行此操作:https://docs.djangoproject.com/en/1.6/ref/templates/builtins/#get-media-prefix
请参阅模板中的obj.thumbnail.photo。