develop

A collection of 46 posts
Django - modelform 사용자 필드 추가 - 필드 순서 변경 방법
Django

Django - modelform 사용자 필드 추가 - 필드 순서 변경 방법

그냥 model 에 사용된 필드만 쓰면 별 고민이 없는데, 꼭 쓰다보면 사용자 정의 필드를 넣어줘야 할 때가 있다. 이때마다 생각이 안나서 일단 정리 필드를 그냥 변수 정의하듯이 정의해서 사용하면 된다. class ShippingProductUpdateForm(BSModalModelForm): title = "" update_firmware_version = forms.CharField(label=_("*업데이트버전"), widget=forms.TextInput(attrs={"readonly": True})) class Meta: model
2 min read
Django - modal 창에 form error 출력
develop

Django - modal 창에 form error 출력

Django model forms (https://github.com/trco/django-bootstrap-modal-forms/blob/master/README.rst) 이용하고 있는데, 모달 창이 뜬 상태에서 form submit 을 수행하고, 에러가 발생하면 해당 모달창에 바로 띄워주고 싶어서 시도! 원래 제공되는 기능인데, 그냥 쓴 방법을 정리해 둔다. 모달창 템플릿 코드는 아래와 유사하게 되어 있다. 여기서 div class="invalid" 부분이
3 min read
서버리스 장고 - AWS Lambda framework 자료 조사
develop

서버리스 장고 - AWS Lambda framework 자료 조사

파이썬 기반의 서버리스 API 혹은 장고 platform을 구축할 수 있다는 Zappa! 관심 키워드로 두고 검색을 해보고 있음 서버 운용자 없이 그냥 코드만 관리하려면, 서버리스로 웹서버나 장고를 돌릴 수 있으면 베스트 인데, 소규모 스타트업 경우는 그냥 하나 띄워두고 자기 서비스에 집중할 수 있다니 한번 테스트 베드라도 구축해 두면 여러모로 도움이 될
7 min read
Django - slack bot 에 메시지 전송
develop

Django - slack bot 에 메시지 전송

장고 혹은 파이썬에서 슬랙봇으로 메시지를 보내는 것을 해보자. 용도는 엄청 다양하다. 일단은 장고 동작 중에 admin에게 알리는 메시지를 이메일로 처리하곤 했는데 이놈의 smtp 가 참 여기저기 문제다. 그냥 Slack 을 믿고 slack message로 처리하도록 해보자. 아래 글을 참고하면 아주 쉽게 메시지를 보낼 수 있다. slacker.Error: invalid_auth 에러 해결방법안녕하세요
1 min read
Python - libpng warning: iCCP: known incorrect sRGB profile 에러 해결
develop

Python - libpng warning: iCCP: known incorrect sRGB profile 에러 해결

libpng warning: iCCP: known incorrect sRGB profile 이런 에러가 아니라 경고가 뜨는데, 머 그냥 넘어가도 그림이 보이는 데는 문제가 없었는데 그냥 찝찝해서 찾아봄 먼가 파일에 포함된 코드 일부가 profile에서 지원되지 않는 것 머 이런거라는 설명이 있는데, 해결책은 아래 코드로 해당 파일을 읽어, 파이썬에서 제공되는 png 라이브러리로 파일을 변환해서 사용하면 될
2 min read
Django - Ninja api querystring 처리
Django

Django - Ninja api querystring 처리

Django ninja api 엔진을 쓰고 있는데, 쿼리스트링을 처리하는 함수를 만들려고 한다. 주소에서 파라메터를 뽑아 쓰는 것은 직관적이었는데... 역시 똑같다. 차이가 없다. @api.get("/weapons") def list_weapons(request, limit: int = 10, offset: int = 0): return weapons[offset: offset + limit] * 파라메터에 기본값을 넣고 추가해 준다. 이건 path parameter 와 완전 동일하다.
1 min read
Django - CreateView form_valid() 오버라이딩
develop

Django - CreateView form_valid() 오버라이딩

CreateView 저장 작업을 할때 커스텀 동작이 필요하다면, form_valid()를 오버라이딩해서 그냥 여기서 저장해 버리는 방법이 있다. View를 쓴다는게 좀 커스텀 동작을 제약하는 경우와 편리성을 바꾸는 것이니 만큼 좀 불편해도 이렇게라도 변경해서 쓰자. 기본 코드는 아래와 같다. def form_valid(self, form): self.object = form.save() # do something with self.
2 min read
Django - ModelForm __init__() 함수 예제
develop

Django - ModelForm __init__() 함수 예제

그냥 예제 ModelForm init() 함수에서 수행할 것을 몇 가지 저장해 둔다. * 원하는 필드만 보여주기 fields * 필요 없는 필드 제거해서 보여주기 exclude * labels 를 이용한 원하는 라벨 표기 * widgets 으로 원하는 form 객체 가져다 놓기 * 필드에 필터링 해서 데이터를 올려줄 수 있는 queryset * empty label 보여주지 않게 하기 class ProductProfileForm(forms.
1 min read
Django - UpdateView form_valid() 예외처리
develop

Django - UpdateView form_valid() 예외처리

UpdateView 를 이용하여 업데이트 할때, 혹여나 form_valid() 에서 Exception 이 발생하면 그냥 오류 페이지가 떡 떠버린다. 이런거 무시하고 특정 페이지로 무조건 리턴되도록, 즉 예외가 발생하면 update 없이 머 success url 로 이동시키자 이런 코드를 넣어보자. 단순하게 아래처럼 예외를 pass 해버리고 무조건 success_url() 로 이동시키도록 해봤다. def form_valid(
1 min read
Django - UpdateView pk 있을때 없을때 다 처리하기
Django

Django - UpdateView pk 있을때 없을때 다 처리하기

UpdateView pk 없이 사용하는 방법을 전 포스트에서 알아 봤는데 PK 값이 url에 있든 없든 하나의 View로 다 처리하고 싶어졌다. 일반 사용자는 자기꺼만 처리하면 되지만, superuser 혹은 admin은 다른 사용자 정보를 수정하고 싶을 수 도 있기 때문에 pk 값을 넘겨 받아서 사용하는 것도 같은 UpdateView에서 처리하고 싶었다. 그냥 get_object() 함수
3 min read
Django - UpdateView pk 없이 사용하기
develop

Django - UpdateView pk 없이 사용하기

url 로 UpdateView 의 PK 값을 넘겨주는 방식이 일반적인데, 사용자 정보 같은 것을 넘겨줄 때 사용자에 대한 pk 값이 노출되는게 부담스럽다. 꼭 넘겨줘야 하나? 내꺼만 고치면 되는데... 이때는 내장 함수를 통해 자기가 로딩 되면서 가져오도록 하면 된다. 자기 객체를 불러오는 방식이다. 주인공은 바로, get_object(self) @method_decorator(login_required,
2 min read
Django - 유효성 검사에 대한 글
Django

Django - 유효성 검사에 대한 글

수많은 정보를 저장하고 꺼내오고 해야 하는 시대에 Django 로 서비를 만들고 하다보면, 각각 필드의 유효성 검사에 대한 고민이 엄청 많다. 폼에서 하나 자바스크립트로 하나 model 에서 하나...등등등 아래 글에서 인사이트를 얻어보자 잘 정리해 두셨네. 강의를 들으면서 정리하신 내용 같은데 많은 도움이 되었어요 😊 Django Form Validation출처 : https://www.inflearn.com/
3 min read
Django Template - with 변수 선언
Django

Django Template - with 변수 선언

변수가 너무 길어서 엄청 불편함, 좀 줄인 변수에 넣어서 해보고 싶어서 좀 찾아봄, 예를 들어 request.user.profile.company.name 이런 식의 변수를 간단하게 쓰면 좋겠다 😁 with 구문으로 페이지에 쓰일 사용자 변수를 선언해서 쓸 수 있네. {% with total=business.employees.count %} {{ total }} employee{{ total|pluralize }} {% endwith %} 복수 개를 선언 하려면,
1 min read