Q&A

책을 따라하다가 막히는 부분이 있나요?
질문을 남겨주세요.

태그 공백 오류가 납니다.

2 years, 10 months ago

taebong taebong

안녕하세요. 태그 오류 관련 질문이 있습니다.

,;, 를 태그로 추가하게 되면 

            tags_str = tags_str.replace(',', ';')
            tags_list = tags_str.split(';')

코드로 ;가 공백문자로 추가되는데, 공백이 태그로 추가되면 그 이후에 새로운 태그가 생성되지 않습니다.

어떻게 해결할 수 있을까요? 예외 처리를 해야할까요?  


sungyong
sungyong   2 years, 10 months ago

안녕하세요.

일단, 문제는 ,;, 를 입력하면, 현재 소스코드 상 ;;;으로 바뀌게 되고, 이 상태에서 ;으로 splite을 하기 때문에, 아무것도 없는 문자가 연속으로 들어가는 문제가 발생합니다. 그래서 더 이상 unique 하지 않은 값이 들어가는 문제가 있는거죠. 

책에서 가이드를 드릴 때는 blog는 admin 권한이 있는 사람이 쓰기 때문에 그런 시도를 하지 않을 것이라고 가정하고, 완벽하지는 않지만 설명이 길지 않아도 되는 임시방편적 해결책을 드렸습니다. 

현재 코드에서 단순하게 해결 책을 드리자면, 

tags_str = tags_str.replace(',', ';').replace(' ', '')

으로 중간에 공백이 있는 경우를 모두 삭제하도록 수정하고, 

while ';;' in tags_str:
    tags_str = 
tags_str.replace(';;', ';')

으로 연속된 ;;가 있는 경우 삭제하겠습니다. 

그리고 아래처럼 ;으로 split 한 뒤,

tags_list = tags_str.split(';')

그리고, 아래처럼 split한 t의 길이가 3 미만인 경우에는 tag를 생성하지 않도록 내용을 추가하겠습니다. 

for t in tags_list:
    t = t.strip()
    if len(t) < 3: continue
    tag, is_tag_created = ~~~후략


아무래도 제가 "개발한 사람이 글을 직접 쓰니까 이런 시도는 하지 않겠지.."라고 않은 측면이 있는 것 같네요. 

'책 내용이 너무 방대해지지 않게 최대한 간략하게 설명하기 위해 선택했던거구나'라고 너그럽게 이해해주시면 감사하겠습니다. 


Updated: Jan. 6, 2022, 12:01 a.m.

taebong
taebong   2 years, 10 months ago

답변 감사합니다!!

Updated: Jan. 7, 2022, 3:45 p.m.

Leave a Comment:
목록보기
Search
  • 자유게시판
  • Q&A