Django(장고) 폼 필드 html name 속성 강제 변경 방법
2019. 1. 31. 00:21ㆍDevelop/Python
728x90
How to Change Django Form field html attribute of name?
장고 폼 필드에서 html 'name' 속성을 변경하는 방법!?
Django Web Framework를 사용하다가 name속성이 변경되지 않는 문제로
JS 사용에 난항(?) 을 겪은적이 있어서 적용하는 방법을 기억의 목적도있지만,
공유를 해보고자 합니다.
뭐 물론, id나 class를 통한 방법을 사용해도 되지만,
POST 데이터를 받는다던가 할때도 신경써야하기때문에 귀찮아서
name을 바꾸는게 편하네요...
먼저 forms.py 입니다.
해당 폼을 보여주기 위한 CBV(Class Based View)입니다.
html은 다음과 같은 내용을 보여주게 됩니다.
name 속성을 제외하곤 모두 정상적으로 동작을 하죠.
name은 변수명을 따라가게 설계가 되어있는데 여기에 쓰이는 렌더링을
강제로 변경하는 함수를 사용하여 forms.py를 다음과 같이
set_field_html_name 함수를 만들고
선언해놓은 form class 에서 __init__ 초기화 함수를 이용하여
해당 필드 이름을 강제로 초기화시킵니다.
forms.py를 변경하고 결과물을 보게된다면
name이 변경되어 적용된 결과물을 볼 수 있습니다.
728x90
'Develop > Python' 카테고리의 다른 글
[Django](장고) Formview does not keep login / 로그인 유지 안될 때 (0) | 2019.08.07 |
---|---|
Django hosts 사용방법 (0) | 2019.06.03 |
Django ValueError: underlying buffer has been detached (0) | 2019.02.17 |
[Part 2] 랜섬웨어를 만들어보자! | How to make a ransomware? (0) | 2018.07.22 |
랜섬웨어를 만들어보자! [Part 1] / How to make a ransomware? (0) | 2018.07.15 |