models.py:
class Person(models.Model):
name = models.CharField(max_length=200)
CATEGORY_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
gender = models.CharField(max_length=200, choices=CATEGORY_CHOICES)
to_be_listed = models.BooleanField(default=True)
description = models.CharField(max_length=20000, blank=True)
views.py:
def index(request):
latest_person_list2 = Person.objects.filter(to_be_listed=True)
return object_list(request, template_name='polls/schol.html',
queryset=latest_person_list, paginate_by=5)
แม่แบบเมื่อผมเรียกperson.gender
ฉันได้รับ'M'
หรือ'F'
แทนหรือ'Male'
'Female'
จะแสดงค่า ( 'Male'
หรือ'Female'
) แทนรหัส ( 'M'
/ 'F'
) ได้อย่างไร?
4
เป็นไปได้ซ้ำกับค่าตัวเลือกการพิมพ์ Django
—
Ignacio Vazquez-Abrams
ฉันลองใช้วิธีนี้ในเทมเพลตของฉันที่ฉันใช้: {% สำหรับบุคคลใน object_list%} html {{person.get_gender_display ()}} html {% endfor%} ฉันได้รับข้อผิดพลาดต่อไปนี้: ไม่สามารถแยกวิเคราะห์ ส่วนที่เหลือ: '()' จาก 'person.get_gender_display ()'
—
Shankze
ฉันไม่ดีฉันไม่ควรรวม '()' ไว้หลัง person.get_gender_display มันใช้งานได้แล้ว ขอบคุณ
—
Shankze
เพียงความคิดเห็นเล็กน้อยเนื่องจากเพศจะเป็นเพียง M หรือ F (ความยาวอักขระ 1 ตัวเท่านั้น) ดังนั้นจึงไม่มีความรู้สึกที่จะกำหนดความยาวสูงสุดของ charfield ให้
—
Alejandro Garcia
200
เป็น ด้วยmax_lenght=1
ก็พอจะทำให้เว็บไซต์ของคุณมีประสิทธิภาพมากขึ้นและคุณจะให้แน่ใจว่าคุณเคยมีข้อมูลที่ไม่ถูกต้อง :)
สำเนาซ้ำของเทมเพลต Django ที่เป็น
—
Ciro Santilli 法轮功冠状病六四事件法轮功