본문 바로가기
728x90

django28

커스텀 커맨드 만들기 - custom command Django에서는 앱마다 커스텀 커맨드를 만들 수 있다. (아직도 프로젝트, 앱이 헷갈리다 ㅡㅡ;) 간단하게 설명하면 test.py를 콘솔에서 아래와 같이 명령어로 실행시키기 위한 것이다.  . python manage.py test 위와 같이 명령어를 실행하면 test.py에 있는 소스가 실행된다.  이제 만드는 방법에 대해서 알아보자 1. 커스텀 커맨드를 만들 앱을 결정해서 해당 폴더에 아래 구조로 폴더 2개를 생성한다    (앱의 하위폴더에 생성하는게 중요하다) -> /management/commands 2. commands 폴더 밑에 test.py 소스를 작성한다.  (간단하게 메세지를 출력하는 소스이다) from django.core.management.base import BaseCommand.. 2024. 11. 14.
사용자 아이피, agent 가져오기 웹서비스에 접속하는 사용자 아이피를 가져오는 방법이다.  request 를 이용하는 방법으로 HTTP_X_FORWARDED_FOR 값을 체크해서 가져온다.  소스는 아래와 같다.  def getIP(request):     xffInfo = request.META.get('HTTP_X_FORWARDED_FOR')     if xffInfo:         ip = xffInfo.split(',')[0]  #첫 번째를 선택     else:         ip = request.META.get('REMOTE_ADDR')     return ip 함수를 실행하면 사용자의 아이피를 리턴한다. 다음은 사용자의 agent 정보를 가져오는 방법으로 아이피보다 더 간단하다  . user_agent = request... 2024. 10. 16.
한글 로그문제 해결 - django django 에서 로그를 쌓는데 한글이 있을 경우 쌓이지 않는 문제가 발생했다. 테스트 할때는 보통 프로그래머가 그렇듯이 영문으로만 테스트하니 모르고 있었다. ㅡㅡ; 급하게 구글링 결과 encoding을 설정해주면 된다.  settings.py 의 LOGGING.handlers 에서 아래와 같이 추가 'file2': {            'level': 'DEBUG',         'class': 'logging.FileHandler',            'filename': BASE_DIR / f'logs/test.log', 'formatter': 'format_basic',            'encoding' : 'utf-8' }, 2024. 7. 31.
문자열 이스케이프 함수 - django from django.utils.html import escape ​unsafe_string = '' safe_string = escape(unsafe_string) ​print(safe_string) 2024. 7. 30.
settings.py 에 선언한 값 가져오기 - django settings.py 에 선언되어 있는 설정 값을 사용하고 싶을 경우 아래와 같이 코딩한다 from config import settings  temp = settings.name //name 으로 선언되어 있는 값을 가져온다 또는 from config import settings temp = getattr(settings, 'name') 2024. 7. 23.
django 내장 템플릿 필터 * add : 변수에 값을 추가함  . {{"2"|add:"3"}} -> 5  . {{"te"|add:"st"}} -> test * addslashes : 따옴표 앞에 슬래시를 추가  . {{ value|addslashes }} * capfirst : 첫번째 문자를 대문자로 바꾼다  . {{ "test"|capfirst }} * center : 주어진 폭의 필드에서 중앙정렬  . {{ value|center:"15" }} * cut : 인수로 주어진 값을 모두 제거  . {{ "test"|cut:"e" }} -> e를 제거해서 tst 출력 * date : 지정된 형식에 따라 날짜 형식을 지정  . {{ value|date:"D d M Y" }} * default : 값이 false 이면 기본값으로 사용 .. 2024. 7. 22.
반응형