هل هناك طريقة لتخصيص كيف تبدو حقل في قائمة النتائج؟

StackOverflow https://stackoverflow.com/questions/1617036

  •  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، بدلا من مجرد في المشرف (من المسلم به على الأرجح ليست حالة استخدام ضخمة لهذا العقار محددة، ولكن بالتأكيد يأتي في متناول اليدين في ظروف أخرى).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top