인프런 커뮤니티 질문&답변

c880910님의 프로필 이미지
c880910

작성한 질문수

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

Form Validation

안녕하세요 clean_필드이름명과 관련해서 질문드립니다.

작성

·

180

0

 

 

 

안녕하세요!  강의내용에서 clean_필드이름명으로 함수를 구현했는데 화면처럼 빈 문자열이 되버리네요ㅜㅜ models.py에서 Post 모델필드에 message필드에다가 blank=True를 두니 처리는 되는데 영어만 사라지는게 아니라 문자열 전체가 사라지는 것 같은데 왜그러는걸까요?

답변 1

2

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

아래의 코드에서 re.sub(r"[a-zA-Z]+", "", "message") 코드는 항상 message 변수 값은 항상 빈 문자열로 채워집니다.

re.sub 함수의 세 번째 인자로 정규표현식을 적용할 문자열을 지정하는 데요.

쓰신 코드는 message 변수의 값을 지정하신 것이 아니라, 문자열 "message"를 지정하셨기에
영대소문자를 모두 제거하는 정규표현식을 통해 message 변수의 값은 빈 문자열이 된 것입니다.

그리고 clean_message 함수에서 반환한 값으로 필드값이 변경되기에, 값을 지정하셨을 때 빈 문자열이 변환이 된 것입니다.

re.sub(r"[a-zA-Z]+", "", "message") 가 아니라

re.sub(r"[a-zA-Z]+", "", message) 로 써보시겠어요?

화이팅입니다. :-)

c880910님의 프로필 이미지
c880910

작성한 질문수

질문하기