هل هناك طريقة لتخصيص كيف تبدو حقل في قائمة النتائج؟
-
06-07-2019 - |
سؤال
هل هناك طريقة لتخصيص طريقة عرض حقل في قائمة النتائج جانغو المشرف؟ على سبيل المثال، أود أن عرض صورة استنادا إلى قيمة الحقل، تماما كما هي ظاهرة الحقول المنطقية باستخدام صورة بدلا من قيمة النص.
المحلول
وتحديد أسلوب في الدرجة المشرف وترجع HTML تريد.
class MyAdmin(admin.ModelAdmin):
list_display = ('name', 'my_image_field')
def my_image_field(self, obj)
return '<img src="/path/to/my/image/%s"/>' % obj.url
my_image_field.allow_tags = True
نصائح أخرى
وبالإضافة إلى الطريقة التي دانيال المقترحة، يمكنك أيضا تحديد هذه الوظيفة على النموذج الخاص بك كخاصية ثم إضافته إلى list_display تماما مثل حقل عادي:
class MyModel(models.Model):
image_field = models.ImageField(...)
@property
def my_image_field(self):
return return '<img src="%s"/>' % self.image_field.url
my_image_field.allow_tags = True
وميزة فعل ذلك بهذه الطريقة هو أن الخاصية my_image_field يتوفر الآن من أي مكان كنت تعمل مع كائن MyModel، بدلا من مجرد في المشرف (من المسلم به على الأرجح ليست حالة استخدام ضخمة لهذا العقار محددة، ولكن بالتأكيد يأتي في متناول اليدين في ظروف أخرى).
لا تنتمي إلى StackOverflow