반응형
기존 Django Model에서 CharField는 input field에 입력 받는 형태로 주로 사용 된다.
예를 들면, ID / PW 같은 경우이다.
그런데, 만약 Model의 CharField를 selectBox를 이용해서 미리 정해둔 범위 내에서 선택하도록 유도하는 방법으로 하려면
다음과 같이 할 수 있다.
ex)
class User(AbstractUser):
# 각각의 변수 / 보여지는 단어 로 이루어진 튜플을 가진 dict를 다음과 같이 생성
GENDER_CHOICES = {
('male','Male'), #오른쪽에 있는 것이 화면에 보인다.
('female', 'Female'),
('not-specified', 'Not Specified')
}
# First Name and Last Name do not cover name patterns
# around the globe.
name = models.CharField(_("Name of User"), blank=True, max_length=255)
website = models.URLField(null=True)
bio = models.TextField(null=True)
phone = models.CharField(max_length=140, null=True)
#choices를 추가해주고, 거기에 위에서 정의한 dict를 넣어준다.
gender = models.CharField(max_length=80, choices=GENDER_CHOICES, null=True)
def get_absolute_url(self):
return reverse("users:detail", kwargs={"username": self.username})
아래와 같이 나오게 된다.
반응형
'Legacy(~18.10) > Django' 카테고리의 다른 글
[Tutorial] Django 공식튜토리얼 - 모델생성과 관리자 페이지 (0) | 2018.09.07 |
---|---|
[Tutorials] Django공식튜토리얼 - 프로젝트 생성과 간단한 뷰 만들기 (0) | 2018.09.06 |
[Tutorials] Django공식튜토리얼 - 개발환경구축 (0) | 2018.09.06 |
[Django Model] 쿼리만들기 - 1 (0) | 2018.08.29 |
[Django] cookiecutter를 이용한 초기 세팅 (0) | 2018.07.12 |