[TIL] #7 regex

ddalkigum·2020년 12월 5일
2

TIL

목록 보기
7/50
post-thumbnail

정규 표현식, format

숫자를 이용한 정규 표현식을 살펴 봤다

지금은 완료해서 이런식으로 3,000원으로 나오지만,
3000 이런식으로 숫자타입으로 데이터를 받아오기 때문에

장고에서 custom filter를 만들어 사용해야 했다
우선 실패한 코드부터 보면


import re
from django import template

register = template.Library()

@register.filter(name="seperate")
def seperate(value):
    regex = re.sub("\d+", "\d{1,3},\d{3}", value)
    return regex

re.sub를 살펴보면

첫번째에 내가 넣은 value의 바꾸기전 패턴,
두번째에 바꾸고 싶은 패턴
마지막에 value값을 넣어서 진행하도록 되어있다.

이렇게 이해를 하고, \d+를 통해서 숫자가 하나 이상인 value를 넣어서

d{1,3} - 1개 ~ 3개의 숫자
가운데 컴마를 넣고
d{3} - 3개의 숫자

만약 숫자가 11111 이라면 11,111이런식으로 나올거라 생각했다.
따로 파이썬 파일을 만들어서 여러가지 실험을 해봤는데, 다 실패했고

결국 format함수를 이용해서 숫자를 표시햇다.

from django import template

@register.filter(name="seperate")
def seperate(value):
    number = format(value, ",")
    return number

이렇게 만든 filter는

{% load static %}
{% load [filename] %}
{{ price|seperate}}원

이런식으로 뒤에 필터를 붙여서 사용하면 된다.

간단하게 굉장히 파이썬스럽게 해결했다고 생각든다
어떻게 할까 고민하다가 검색을 계속 하다 겨우 찾았다


장고 포트 에러

python3 manage.py runserver

입력하고 서버를 실행하면 이미 사용중인 포트라고
나오는 경우가 있다.
처음이라 살짝 당황했다

(MAC 기준)

lsof -i:8000

를 입력하여 현재 8000번 포트를 사용중인게 무엇인지 볼 수 있다.

나의 경우는 파이썬이 사용중이 었고,
이 녀석을 강제로 죽이기 위해서는

kill -9 PID

PID에는 위에서 찾아본 PID를 넣어서 강제로 죽여주면 된다.


이론공부

CPU의 메모리 영역, 위치, 페이징과 세그멘테이션에 관해서 찾아봤는데,
솔직히 말하면 이해하기 어렵다

c언어는 맛만 봤기때문에 이해하기 어려운게 당연하다
그래서 하나를 공부하는데 거기에 나오는 단어들이 어떤건지 찾아보면서
공부를 했다 ....

이렇게 단어하나하나 찾아가면서 공부하면 시간은 오래걸리지만
천천히 쌓이게 되겟지... 생각한다


이것 외에는 오늘은 거의 css 부분을 만지다 시간이 다 지나갔다

추가한게 많지는 않은것 같은데 은근 오래걸렸다...

로그인과 회원가입이 어떤방식으로 이루어 지는지 한번더 봤고,

드디어 애니메이션을 추가했다 😁😁😁😁

가끔 css파일이 안먹히는 경우가 있는데 장고에서
css파일이 커지면서 불러오는데 문제가 있을 수 있다고 한다.

그래서 애니메이션이 적용이 안됬던거 같다.

각 파트별로 css파일을 나누어 따로 불러오게끔 진행했다.
css가 먹히는 경우가 확실히 줄어들긴 했는데, 아직은 조금 더 지켜봐야 알것같다.


profile
딸기검 -본캐🐒 , 김준형 - 현실 본캐 🐒

1개의 댓글

comment-user-thumbnail
2020년 12월 15일

Hello, I enjoy reading all of your article. I like to write a little comment to support you.JOKER123

답글 달기