기술, 정보 노트
close
프로필 배경
프로필 로고

기술, 정보 노트

  • 분류 전체보기 (177)
    • 애드센스 (6)
    • 재테크 (0)
    • 토렌트 (4)
    • IT리뷰 (1)
    • Tech (164)
      • 블로그 (2)
      • 프론트엔드 (21)
      • 파이썬 (7)
      • Django (69)
      • Network (17)
      • SoC (21)
    • 정보 (2)
      • 건강 (0)
  • 홈
  • 태그
  • 관리자
Django - Form 태그에 속성 값 추가하기

Django - Form 태그에 속성 값 추가하기

html form 필드에 다양한 속성값을 주고 싶다...이건 기본이다. 장고 폼을 쓰면서 이런 속성을 쉽게 줄 수 있는 방법은 다양하게 있겠지만 그냥 아래 글 처럼 속성을 주는 것이 편할 듯 이글을 참고하시길 => Django Form에서 DOM class 설정 등의 front-end 조작법 # myapp/forms.py class MyForm( forms.ModelForm ): class Meta: model = MyModel def __init__( self, *args, **kwargs ): super( MyForm, self ).__init__( *args, **kwargs ) self.field[ 'my_field' ].widget.attrs.update( { 'class': 'form-cont..

  • format_list_bulleted Tech/Django
  • · 2022. 4. 12.
  • textsms
Django - Ninja API 인증에 Redis 추가로 blacklist 구현

Django - Ninja API 인증에 Redis 추가로 blacklist 구현

제목이 거창한데 Django Ninja API 엔진에 기본 인증 방식에 Redis 를 이용하여 사용자별 JWT 토큰 값을 하나만 관리하도록 설정해 보았다. 머 Blacklist 비슷한거 아닌가? 로그인 한 후에 Redis 에 사용자 ID 키로 토큰을 저장해 두고, 다시 Login API가 호출되면 새로운 token이 발행되도록 한다. 이렇게 하면 사용기한이 남은 토큰이라도 재 발행되는 순간 쓸 수가 없게 된다. Redis 대신에 그냥 Session 정도 사용되도 될 듯 하지만 머 일단 구색으로 class AuthBearer(HttpBearer): def authenticate(self, request, token): try: print(request.headers) print(request.headers..

  • format_list_bulleted Tech/Django
  • · 2022. 4. 11.
  • textsms
Django -  파이썬 zip 파일 생성 from 메모리 버퍼

Django - 파이썬 zip 파일 생성 from 메모리 버퍼

파일 생성을 임의로 막 할 수 없기에 메모리상에 데이터를 zip 으로 묶어서 다운로드 해야 하는 경우가 생긴다. 대부분의 예제들이 파일을 기반으로 되어 있어서 response 로 바로 내려주는 것을 찾기 어려웠는데, 아주 좋은 예제가 있어서 소개한다. 이미 많은 곳을 거쳐서 테스트 했는데 아래 코드가 그나마 동작 가능한 코드이다. https://stackoverflow.com/questions/67454/serving-dynamically-generated-zip-archives-in-django import io def my_downloadable_zip(request): zip_io = io.BytesIO() with zipfile.ZipFile(zip_io, mode='w', compression=..

  • format_list_bulleted Tech/Django
  • · 2022. 4. 7.
  • textsms
Django - 데코레이터 적용 하는 방법 - FBV, CBV

Django - 데코레이터 적용 하는 방법 - FBV, CBV

전처리, 혹은 사용자가 중복으로 필요한 기능을 모아서 데코레이터로 작성해 두는 경우가 많다. 대부부의 함수에 적용시키거나 특정 함수에서 필요한 기능을 부분부분 적용시키는 데 최적이다. 일단 만들고 나면 대상 함수, 클래스에 적용하는 방법을 알아야 한다. Fuction based view 와 Class based view 에 적용 방법이 각각 다르다. 아래 사이트에 아주 잘 설명이 되어 있다. 원본 사이트로 들어가서 보시면 제 맘에 부담이 덜하겠네요 공부하는 것을 기록해 두는 용도지만 작성자의 노고를 위해서는 사이트로 가서 봐줘요 https://parkhyeonchae.github.io/2020/03/25/django-project-05/#2-decorator-%EC%A0%81%EC%9A%A9 그래도 정리..

  • format_list_bulleted Tech/Django
  • · 2022. 4. 4.
  • textsms
파이썬 - mongodb find 검색에 ObejctID 넘기기

파이썬 - mongodb find 검색에 ObejctID 넘기기

pymongo 를 쓰니 편리하게 find 함수로 mongo shell 처럼 검색을 할 수 있다. ObjectID로 검색하려니 ObjectID 로 바꾸는 함수가 별도로 필요로 해 보이는데 (원격 쉘 접속으로 명령을 전달하는 것이 아니니깐) 아래와 같은 귀중한 코드를 구할 수 있었다. 좋은 분들이 많다. 꼭 방문해 주세요 https://ssamko.tistory.com/38 [pymongo] ObjectId로 검색하기 mongodb(pymongo)를 사용하다보면 ObjectId로 검색해야 할 일이 종종 생긴다. mongodb shell에서는 간단하게 아래와 같이 호출할 수 있지만 db.getCollection('collection_name').find({'_id':ObjectId('5f6d775c2.. ss..

  • format_list_bulleted Tech/Django
  • · 2022. 3. 30.
  • textsms
Django Ninja REST Framework 엔진을 사용하면서 인증처리 - JWT

Django Ninja REST Framework 엔진을 사용하면서 인증처리 - JWT

한글로 된 예제를 찾기 어려웠는데, 가뭄에 단비 같은 한 개의 글이 발견! Django-ninja로 JWT token 발행 해보기 https://goo-eungs.tistory.com/64 로그인 할때, JWT 토큰을 발행해 주고 (아래 코드를 참고하시면 된다) @router.post('/sign-in/') def signIn(request): payload = { 'id': 2, 'exp': datetime.datetime.now() + datetime.timedelta(minutes=60), 'iat': datetime.datetime.now() } token = jwt.encode(payload, 'secret', algorithm='HS256') return {"token": token} HTTP..

  • format_list_bulleted Tech/Django
  • · 2022. 3. 28.
  • textsms
Django  - template에서 숫자를 1000단위 comma 표시하기

Django - template에서 숫자를 1000단위 comma 표시하기

장고에서는 아주 편리한 기능들이 거의 내장이 되어 있다. 숫자 표기시에 1000단위로 컴마를 넣는 것이 사람이 보기에 편하다고 느낀다니 이를 구현하려고 했는데 이미 humanize 라는 기능이 있다. settings.py 파일에 이 기능을 APP 에 추가하고 INSTALLED_APPS = [ ... 'django.contrib.humanize', 필요한 템플릿 페이지에서 로드해서 사용하면 된다. {% load humanize %} 라고 선언하고 실제 필요한 필드에 가서는 ` | intcomma ` 를 추가하면 된다. {{ item.quantity | intcomma }} 끝. 참고페이지는 아래 https://docs.djangoproject.com/en/4.0/ref/contrib/humanize/ dj..

  • format_list_bulleted Tech/Django
  • · 2022. 3. 24.
  • textsms
Pandas - datetime 시간대 변경 방법

Pandas - datetime 시간대 변경 방법

판다스의 Dataframe 에 저장된 필드의 datetime 의 시간대를 한꺼번에 바꿔보려고 여기저기 검색 일단 시간대 변경을 위해 tz_convert('Asia/Seoul') 메소드를 사용해야 할 것으로 이해하고, 출처: https://rfriend.tistory.com/505 [R, Python 분석과 프로그래밍의 친구 (by R Friend)] 판다스 dataframe 에 전체 필드 데이터에 바로 할 수 있는 장점이 있네. 근데 약간 편법같은걸로 햇는데 정답인줄을 모르겟음 계속 dt 형변환해서 메소드 호출하고 이렇게 써야 하나? resultDf['Start Time'] = resultDf['Start Time'].dt.tz_convert(TIME_ZONE).dt.strftime('%H:%M:%S')..

  • format_list_bulleted Tech/프론트엔드
  • · 2022. 3. 22.
  • textsms
Django ORM - 2개 이상의 필드로 unique 설정하기

Django ORM - 2개 이상의 필드로 unique 설정하기

장고 모델을 만들다 보면, unique 필드로 키를 등록해서 사용하곤 한다. 그런데 중복은 되는데 각 사용자별 중복은 허용하지 않도록 지정하기 위해서는 2개 이상의 필드를 묶어서 unique 하게 동작하도록 해야 한다. 이때 사용하는 구문은 다음과 같다. UniqueConstraint https://stackoverflow.com/questions/2881043/django-create-a-unique-database-constraint-for-2-or-more-fields-together Django 2.2 introduced UniqueConstraint and the note in the official documentation on this topic suggests that unique_toge..

  • format_list_bulleted Tech/Django
  • · 2022. 3. 19.
  • textsms
JQuery - 비슷한 id 가진 객체 이벤트 같이 처리하기

JQuery - 비슷한 id 가진 객체 이벤트 같이 처리하기

HTML id 를 비슷하게 줘서 이벤트 처리를 하나로 하고 싶은 경우가 많다. 동일하게 주기는 찝찝하고, 뒤에 인덱스 같은거 붙여서 같은 기능을 하는 놈들을 비슷한 id로 묶어 뒀는데, 개별적으로 이벤트 처리하려니 영 맘이 안내킨다. 간단하게 JQuery 쓰면서 정규식 비스무리한 거 쓰면 해결!! 원본 글로 방문해서 보는 것을 추천 - https://m.blog.naver.com/cutesboy3/221080367471 for의 index를 부여해서 id값을 부여하여 id가 클릭시 클릭 이벤트처리하는 방법을 아래 스크립트(정규식)으로 처리 할수 있다. $("[id^='useGo_']").click(function() { // 기능 구현하기 }); 간단하게 설명을 하면 //id가 testid로 시작하는 엘..

  • format_list_bulleted Tech/프론트엔드
  • · 2022. 3. 16.
  • textsms
Django - ORM 쿼리셋 업데이트 하기

Django - ORM 쿼리셋 업데이트 하기

걍 SQL 쿼리로 업데이트 하고 싶은뎅, ORM에서 제공하는 방법으로 쓰고 싶당. 그냥 변수에 넣고 save() 함수를 부르니 객체 하나씩은 되는데 쿼리셋 전체에 대해서 하는 것은 안되네. 머야 이런것도 안되....................................가 아니라 update() 함수가 따로 있다는 >>> Entry.objects.filter(id=64).update(comments_on=True) 1 >>> Entry.objects.filter(slug='nonexistent-slug').update(comments_on=True) 0 >>> Entry.objects.filter(pub_date__year=2010).update(comments_on=False) 132 한줄로 가쟝 s..

  • format_list_bulleted Tech/Django
  • · 2022. 3. 15.
  • textsms
Django - Template 에 for list 비어 있을때 empty 처리

Django - Template 에 for list 비어 있을때 empty 처리

장고 템플릿에서 전달 받은 리스트가 막상 까보니 비어 있을때를 체크해야 한다. 보통 표로 쭉 나열하는게 기본인데, 리스트가 비워져 있다면 테이블 제목만 떡 하니 나오게 되니 플래그를 따로 다시 전달해 주는 것도 방법이지만, 이미 내장 empty 라는 키워드가 있네 그냥 쓰기만 하면 되 소스 - https://docs.djangoproject.com/en/4.0/ref/templates/builtins/ {% for athlete in athlete_list %} {{ athlete.name }} {% empty %} Sorry, no athletes in this list. {% endfor %} 위의 코드처럼 for 문안에서 endfor 닫기 전에 empty 를 사용하면 된다 Pixabay 님의 사진,..

  • format_list_bulleted Tech/Django
  • · 2022. 3. 15.
  • textsms
장고 ORM - 최근 90일 데이터 읽어오기, NULL, Empty 체크

장고 ORM - 최근 90일 데이터 읽어오기, NULL, Empty 체크

최근 며칠 데이터 가져오기 요거 많이 쓸 듯 아래 사이트에서 가져옴 https://chartio.com/resources/tutorials/how-to-filter-for-empty-or-null-values-in-a-django-queryset/ Now, by using filter(), we can retrieve a QuerySet of just those books that were published within the last 90 days period, like so: >>> from datetime import datetime, timedelta >>> Book.objects.filter(date_published__gte=datetime.now() - timedelta(days=90)).c..

  • format_list_bulleted Tech/Django
  • · 2022. 3. 11.
  • textsms
Pandas - 판다스 사용할 때 csv 내보내기 index 제거하기

Pandas - 판다스 사용할 때 csv 내보내기 index 제거하기

장고의 데이터 처리를 위해서 csv 내보내기를 기본 csv 라이브러리를 쓰니깐 속도가 너~~~~~~~~~~무 느려 어쩔수 없이 Pandas를 사용할 수 밖에 없네 to_csv 를 사용해서 내보내는데, 몇 초 만에 되네 ㅋㅋㅋ 한줄씩 내보내기 하니깐 몇 분 기다려도 안되던데... 암튼 내보내기 하니깐 앞에 원하지 않는 인덱스 값이 컬럼으로 들어와서 불편해서 제거하는 것을 찾아보니 떡 있네. 8-파이썬-데이터프레임의-인덱스-제거하기 정말 간단한데 to_csv 혹은 to_excel 함수를 사용하실 때 아래 코드처럼 'index=False' 만 추가하면 되거든요 👍 # file1을 인덱스 없이 '실습1_수정.xlsx'파일로 내보내기 file1.to_excel('실습1_수정.xlsx',index=False) 실제..

  • format_list_bulleted Tech/Django
  • · 2022. 3. 11.
  • textsms
[북마크] Django 앱 AWS 배포하기

[북마크] Django 앱 AWS 배포하기

솔루션을 만들어도 배포해서 세상에 공개하는 것이 기술인 세상이다. 이것저것 관련 글 소스가 많지만 일단 아래 글을 참고해보자. 간단한 Django 어플리케이션 AWS에 배포하기 간단한 Django 어플리케이션 AWS에 배포하기 전통적인 방법으로 Django 어플리케이션 EC2 인스턴스에 배포하기 nearkim.coffee Gunicorn, Nginx 설치도 같이 포함되어 설명되어 있다. conf 파일 설정 방법도 물론 소개되어 있고 AWS 말고 추가로 MS Azure, Google Cloud 에도 배포하는 내용이 찾아지면 이페이지에 업데이트 하고, 제목을 바꿔야 겠다. Deehooks 님의 사진, 출처: Pexels

  • format_list_bulleted Tech/Django
  • · 2022. 3. 10.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ···
  • 12
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (177)
    • 애드센스 (6)
    • 재테크 (0)
    • 토렌트 (4)
    • IT리뷰 (1)
    • Tech (164)
      • 블로그 (2)
      • 프론트엔드 (21)
      • 파이썬 (7)
      • Django (69)
      • Network (17)
      • SoC (21)
    • 정보 (2)
      • 건강 (0)
최근 글
인기 글
최근 댓글
태그
  • #SoC
  • #파이썬
  • #ARM
  • #프론트엔드
  • #웹개발
  • #백엔드
  • #ORM
  • #Django
  • #Hidden
  • #장고
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바