inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

프로필 수정 구현과 장고3에서 추가된 TextChoices 활용

django.contrib.auth.forms.UserChangeForm 질문드립니다.

524

Grid

작성한 질문수 25

0

안녕하세요! 선생님 강의를 들으면서 장고로 게시판을 만들어 보고 있는데, 유저 모델을 수정(프로필 수정 기능)하는 뷰를 만들면서 UserChangeForm을 사용하고 있습니다.

이때 데이터베이스에 저장된 모델의 필드명은 변경하지 않고, 폼 화면에서 username 대신 id라고 화면에 나올 수 있도록 하려면 어떻게 해야할까요? 장고 깃헙보면서 손대봤는데 안되서 질문드립니다. 감사합니다/

class CustomUserChangeForm(UserChangeForm):

    class Meta(UserChangeForm.Meta):
        model = get_user_model()
        fields = ['username', 'first_name', 'last_name', 'email']

django docker python react

답변 3

0

Grid

와 답변 감사합니다! 제가 생각하던게 맞습니다. 폼에서 필드를 저런식으로 추가하면 되는군요. 정말 답변 빨리 달아주셔서 놀랐습니다. 다시 한번 감사드립니다.

0

이진석

생각하신 방향이 맞는 지 모르겠지만, 위 스샷대로 구현할려면 아래와 같이 구현해보실 수도 있습니다.

image

0

이진석

안녕하세요.

username 폼 필드의 레이블을 id로 보여지게 하실려는 것인가요?

그렇다면, 해당 폼 클래스의 생성자를 재정의하신 후에 부모의 생성자 호출하신 후에, self.fields[“username”] 접근을 통해 생성된 폼 필드을 참조하실 수도 있고 레이블 등의 값을 변경하실 수도 있습니다.

0

Grid

답변 감사합니다. 답변 달아주신 방법대로 시도해봤는데 잘 안돼서 혹시 여기서 어떤식으로 수정을 해야할까요?

이 코드에서 Meta클래스에서 'username'을 빼버리면 self.fields에서도 username이 사라져버려서 username은 안보이고 id만 나오게 하는 방법을 모르겠습니다.

class CustomUserChangeForm(UserChangeForm):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['id'] = self.fields['username']

    class Meta(UserChangeForm.Meta):
        model = get_user_model()
        fields = ['username', 'first_name', 'last_name', 'email']

0

이진석

아래와 같이 보여지고자 하시는 것인가요?

image

안녕하세요.

0

51

1

[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?

0

275

1

useEffect 훅에서 else 유무에 따른 결과

0

211

1

useAxios 훅의 dependency array 설정

0

245

1

useEffect에서 변수 업데이트 관련 질문

0

382

1

rest_framework.generics.CreateAPIView의 model 속성 유무

0

268

1

bootstrap4

0

471

4

리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요

1

365

1

admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법

0

574

3

useState는 필수일까요?

0

263

1

python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.

0

600

4

Django allauth를 사용한 소셜 로그인 시 에러

0

655

1

프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러

0

556

2

useLocalStorage() 함수 사용여부

0

229

1

django에 LOGIN_URL = '/accounts/login/'의 의미?

0

449

1

리듀서의 의미 재확인

0

430

1

simple-jwt Refresh Token 사용 노하우

0

899

2

docker compose 를 통한 배포 관련 오류 문의

0

673

1

파이썬 속도 장고 관련 궁금한게 있습니다.

0

365

1

is_like_user

0

233

1

related_name 오류

0

275

1

re_path 오류

0

259

1

re_path url

0

251

1

No post matches the given query

0

661

2