اذهب إلى المحتوى
  • 0

كيفية التأكد من أن الحقل FileField ليس فارغًا في نموذج Model في جانغو Django؟

Mohssen A Mohssen

السؤال

لدي نموذج بسيط بالشكل التالي:

class Note(models.Model):
  title = models.CharField(max_length=50)
  thumbnail = models.FileField(upload_to='thumbnails/', blank=True)

من المفترض أن يكون بإمكان المستخدم رفع صورة -إن أراد ذلك-، ولكن المشكلة هنا أنه في حالة لم يقم المستخدم برفع صورة:

>>> note = Note(title='my-note')
>>> note.save()

فإن الخطأ التالي يحدث عند محاولة التأكد من أن هناك صورة مصغرة thumbnail:

>>> note.thumbnail
<FieldFile: None>
>>> note.thumbnail is None
False

كيف يمكنني التأكد من أن الحقل thumbnail ليس فارغًا؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك التحقق من أن الحقل thumbnail ليس فارغاً باستخدام الخاصية name الموجودة في الصنف FileField على الشكل التالي:

>>> note.thumbnail
<FieldFile: None>
>>> note.thumbnail.name is not None
False

لاحظ أننا استخدمنا الخاصة name وتحققننا من أنها ليست فارغة والنتيجة كانت خطأ ﻷن الحقل thumbnail فارغ.

الخاصية name: تحتوي على اسم الملف الذي يقوم المستخدم برفعه. فإذا لم يكن بها قيمة فهذا يعني ان الحقل فارغ.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

يمكنك فعل ذلك في ملف views.py من خلال الكود التالي

thumbnail.objects.none()

ثم التحكم في ذلك الأمر من خلال ملف الـ HTML عبر الكود التالي مع تعويض القيم المطلوبة

<ul>
{% for athlete in athlete_list %}
    <li>{{ athlete.name }}</li>
{% empty %}
    <li>Sorry, no athletes in this list.</li>
{% endfor %}
</ul>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...