Django에서 웹 사이트를 만들고 있으며 사용자가 선택 필드에서 선택한 값을 표시해야합니다.이 값 user_status
은 튜플에 저장됩니다. 첫 번째와 두 번째 값은 동일하지만 'Member'또는 'Expert'가 될 수 있습니다.
처음에는 HTML에서 이것을 시도했습니다.
{{ user.user_status }}
결과는 다음과 같습니다.
('Member', 'Member')
내가 원했던 것은 다음과 같습니다.
Member
다음으로
{{ user.user_status.Member }}
결과는 아무것도 아닙니다.
마침내 나는 시도했다
{{ user.user_status.Member.0 }}
결과는 ('Member', 'Member')
(
이 튜플의 첫 번째 또는 두 번째 값에 액세스하여 HTML에 표시하려면 어떻게해야합니까?
내 모델 :
class CustomUser(AbstractUser):
__USER_STATUS = [('Member','Member'), ('Expert','Expert')]
user_status = models.CharField(
max_length = 20,
choices = __USER_STATUS,
default = __USER_STATUS[0], # 'Member'
)
phone_number = models.CharField(null=True, blank=True, max_length=30)
이상한 일이 벌어지고 있습니다 ...
내가 사용할 때 : {{ user.user_status }}
('Member', 'Member')
Visual Studio 코드로 열린 인터넷 창에 표시됩니다 .
그러나 Member
Firefox 및 Chromium에 표시됩니다 .
왜 이런거야?
동일한 코드가 다른 브라우저에서 다른 결과를 보여주는 이유는 무엇입니까? 웹 페이지가 어떻게 보이는지에 따라 가끔 이런 일이 발생한다는 것을 알고 있지만 이것은 콘텐츠의 근본적인 차이입니다.
도와 주셔서 감사합니다!
저는 데이터가 실제로 튜플이 아니라 문자열이라고 믿습니다. 그래서 튜플을 만들고 모델에서 튜플 값을 가져 와서 user_status_from_tuple
.
models.py
class CustomUser(AbstractUser):
....
def user_status_from_tuple(self):
user_status = eval(self.user_status)
return user_status[0]
템플릿에서 :
{{ user.user_status_from_tuple }}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다