Django 설명서에서 forms.ChoiceField의 choices = 매개 변수는 호출 가능 항목이 될 수 있습니다. https://docs.djangoproject.com/en/1.10/ref/forms/fields/ 저기있는 사람이 저에게 어떻게 보이는지 보여 줄 수 있습니까? 공식 문서에서 더 이상 찾을 수 없습니다.django, forms.ChoiceField의 선택 항목에 callable을 사용하는 예
0
A
답변
2
그들은 원하는 값을 반환해야하는 함수 (또는 호출 할 수있는 어떤 이름이므로)를 받아 들일 수 있음을 의미합니다. 여기에 간단한 예가 있습니다 :
def callableForChoices():
return [("Value1", "Name1"), ("Value2", "Name2"), ("Value3", "Name3")]
forms.ChoiceField(choices=callableForChoices)
이것은 일반적으로 선택 사항을 동적으로 작성해야 할 때 사용됩니다. 내가 생각할 수있는
1
간단한 예 : 물론
DAY_CHOICES = (
('2016-01-02', 'Today'),
('2016-01-01', 'Yesterday'),
)
forms.ChoiceField(choices=DAY_CHOICES)
, 이러한 정적 값입니다 것이 바람직 아니다. 따라서 호출 할 수있는 대체 코드가 여기에있는 최상의 대안입니다.
def get_days():
return (
(date.today(), 'Today'),
(date.today() - timedelta(1), 'Yesterday'),
)
forms.ChoiceField(choices=get_days)
+0
정말 고마워요! forms.py 외부에서 함수를 호출 할 수 있습니까? – Janic
+0
물론, 다른 모듈에서 가져 오기 만하면됩니다. – lucasnadalutti
예, 정확하게 수행하려고합니다. 그러나 forms.py 외부에서 함수를 조정할 수 있는지 알고 계십니까? – Janic
물론입니다. 그냥 가져 와서 다른 것처럼 사용하십시오. – joeb