본문 바로가기

학습/[The-Origin][SW][Backend] Main Pag

[The Origin][VSCODE][Django][Form] 사용해보면서 기능 알기

반응형

Form 사용

Form에 대한 공식 문서

https://docs.djangoproject.com/en/4.0/ref/forms/

 

Forms | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

Form 사용 준비

  - (/App/forms.py) 파일 추가

 

  - form의 기능들

     (Model에 있는것과 유사)


Form 사용해보기

Test를 위한 준비

  - (/App/forms.py) code 추가

  - (/App/views.py)(/App/urls.py) Test용 form view 준비

  - 실행 후 결과 (연결 잘 되어있음)

  - (/templates/-/post_form2.html)(/App/views.py) Test용 templates만들기, 만든 templates 연결

  - 실행 후 결과

form으로 표시하기

  - (/templates/-/post_form2.html) form.as_p 사용

  - 실행 후 결과


위젯

참고

  - 공식문서 참고

  - '기본 위젯'

  - 위젯 = HTML의 Input type 이라고 생각하면 이해가 쉬움

  - 더 동적으로 HTML Form Tag를 사용할 수 있다.

위젯 변경 Test

  - (/App/forms.py) widget 추가

  - 실행 후 결과

Choice 사용

  - 이전 Mission에서 사용했던 Choice를 바로 사용할 수 있다

2022.04.23 - [공부/[SW][Backend][Pre-Origin] Main Pag] - [The Origin][2차][Mission][성찰] FAQ 만들기

  - (/App/forms.py) Choice 추가

  - 실행 후 결과

이름 지정

  - (/App/forms.py) 각 필드에 이름 추가

  - 실행 후 결과


Form을 통한 render

https://docs.djangoproject.com/en/4.0/ref/forms/api/#django.forms.Form.get_context

https://docs.djangoproject.com/en/4.0/topics/forms/#working-with-form-templates

Form.as_p()

  - 공식 문서 참고

  - 실행 후 검사로 Data 확인 ( <p> 태그 확인 )

Form.as_ul()

  - 공식 문서 참고

  - 실행 후 검사로 Data 확인 ( <li> 태그 확인 )

Form.as_table()

  - 공식 문서 참고

  - 실행 후 검사로 Data 확인 (Table이라고 확 보이지는 않음)


반복을 통한 form 출력

간단한 방식

  - (/templates/-/post_form2.html) 반복문 추가

  - 실행 후 결과


Form에서의 Post

(/App/views.py)

PostBaseForm(request.POST

  - POST만 실행시 Image를 불러 올 수 없음

  - FILES로 저장을 따로하기 때문에 추가가 필요

  - form = PostBaseForm(request.POST, request.FILES)

 

 form.cleaned_data[' ']

  - 유효성 검사를 위해서 cleaned_data 사용

  - 그냥 값을 변환하기 위해서는 changed_data도 있음 (유효성 검사 없음

 

form.is_valid()

  - https://docs.djangoproject.com/en/4.0/ref/forms/api/#django.forms.Form.is_valid

  - cleaned_data와 같이 유효성 검사를 위한 함수

  - 조건으로 넣어서 해당 내용이 유효성에 맞는지 안맞는다면 다른 결과를 도출하게 바꿀 수 있음


Tip

Debug 방법 (EX_ POST 확인해볼 때)

  - (/App/views.py) 코드 디버깅 시 변수의 Data들 확인 가능  

  - 조사식에서 간단하게 수정해서 Data가 가능한지 불가능한지 알 수 있음

반응형