backend 269

장고 스터디 모임 후기

처음 만나 어색했던 장고 스터디 모임도 벌써 두달 가까이 되어간다. 동욱님의 도움으로 어정쩡하게 참가하게 되었지만 총무를 맡고 열심히 하면서 정말 많은걸 배웠다. 돌아보면 정말 이무것도 모르는 나였는데(물론 지금도 아무것도 모른다) 뭘 어떻게 공부해야할지 정말 많은걸 알려준 스터디다. 주최하신 동훈님부터 많은 실력자분들이 계시고, 열정적으로 참가하셔서 너무 감사드린다. 이제부터 장고 공식 문서를 함께 읽는데, 내가 정리하는 부분이 아니더라도 읽고 공부해서 일취월장해야지

backend/django 2017.04.17

django의 context processor / Forms (form disabled)

django context processors 사용base.html, header.html에서 context 값을 넣기 위해서 고군분투하다가 결국 해결했다! 참고한 사이트들https://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-requestcontexthttps://www.webforefront.com/django/setupdjangocontextprocessors.htmlhttp://stackoverflow.com/questions/37176023/access-custom-context-processor-in-django-1-9http://stackoverflow.com/questions/39339569/django-cu..

backend/django 2017.04.16

장고에서 세션, 쿠키, 캐시에 대해서...

세션, 쿠키, 캐시웹 사이트를 이용하는 사용자는 HTTP GET/POST 방식 등을 통해 서버로 페이지를 요청한다 (request) 그러면 웹 브라우저는 서버에서 응답받은 HTML을 파싱해서 렌더링하게 됨이 일련의 주기들을 '라운드 트립'이라고 한다.그런데 HTTP 프로토콜은 상태를 저장이 안된다. 즉, 요청이 왔을때 응답인 HTML을 보내주고 연결을 끊어버려 사용자 입력 정보, 페이지 정보 등이 모두 손실됨HTTP 프로토콜web상에서 텍스트, 이미지, 사운드 등 파일을 주고받기 위한 통신 규약동적인 웹사이트 등에서는 이를 유지할 필요가 있기 때문에 상태 관리를 할 수 있는 기능을 제공: 쿠키-클라이언트에 저장하는 방식(뷰, 쿼리 문자열 등), 세션-웹서버(데이터베이스)에 저장하는 방식쿠키클라이언트 정보..

backend/django 2017.04.16

django 소셜 로그인 기능 구현 (facebook)

Guest/ login 기능sns 계정을 연동해서 사용하기댓글달기 기능만 sns 연동하면 할 수 있게? 추가적으로 나중에 북마크 기능을 달면 scrap 되도록 해주면 좋을듯 (login시에만…)ssocial-auth 사용하기설치pip install social-auth-app-django 로 간단하게 설치할 수 있음.INSTALLED_APPS에 social_django 추가python mange.py migrate로 마이그레이트 하기세팅settings.py의 MIDDLEWARE_CLASSES에 추가하기'social_django.middleware.SocialAuthExceptionMiddleware',TEMPLATE의 context_processors 추가하기TEMPLATES = [ { 'BACKEND'..

backend/django 2017.04.14

장고 페이지네이션 구현하기

## pagination 구현 (https://docs.djangoproject.com/en/1.10/topics/pagination/#django.core.paginator.Paginator) ```from django.core.pagination import Paginator p = Paginator(posts, 5) # 이런식으로 사용``` - views/list.py를 수정해줘야함 ```from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger# EmptyPage: 페이지가 범위를 넘어서면 (없는페이지인지)# PageNotAnInteger: page parameter에 int가 아닌 타입이 들어오면...p = Paginator..

backend/django 2017.04.05

flake8: 파이썬 문법을 체크하자

## Flake8 flake8은 pep8보다 좀 더 엄격하게 파이썬 문법을 체크해주는 라이브러리이다. 1. 설치하기자신의 버전에 맞는 flake8을 설치해 주는 것이 중요하다. `python -m pip install flake8`로 설치가 가능하다. `python -m pip install flake8`로 설치하면 자동으로 자신의 파이썬 버전을 체킹하여 설치해준다. 2. 사용하기 사용법은 간단하다. 해당 directory에서 `flake8 .`을 하면 디렉토리 내의 파이썬 파일들을 체크해준다. `flake8 path/to/code/check.py`로 특정 파일만 체크도 가능하다. 특정 warning, error만 보고 싶다면 지정해주면 된다. `flake8 --select E123,W503 path/t..

backend/python 2017.03.29

각종 장고 에러코드 정리 (1.10 에러)

Reverse for '' with arguments '' and keyword arguments '{}' not found 에러 => ('posts:post-list')와 같은 형태로 넣어줬어야함... OTL django module not found error 새로운 장고 폴더를 만들고 Django-admin startproject _____ 를 실행하였는데, no module named setting error가 갑자기 떴다.pyenv, virtualenv를 활용하여 새로 가상환경을 셋팅해놨는데도 불구하고 그래서 개발 환경의 문제는 아닌 것 같고, Django setting의 문제일 것이라고 생각하여 구글링을 해보았다. 많은 글들을 봤는데 그 결과 중http://stackoverflow.com/qu..

backend/django 2017.03.25

각종 장고 에러코드 정리 (Django 1.10 에러)

Reverse for '' with arguments '' and keyword arguments '{}' not found 에러 => ('posts:post-list')와 같은 형태로 넣어줬어야함... OTL django module not found error 새로운 장고 폴더를 만들고 Django-admin startproject _____ 를 실행하였는데, no module named setting error가 갑자기 떴다. pyenv, virtualenv를 활용하여 새로 가상환경을 셋팅해놨는데도 불구하고 그래서 개발 환경의 문제는 아닌 것 같고, Django setting의 문제일 것이라고 생각하여 구글링을 해보았다. 많은 글들을 봤는데 그 결과 중 http://stackoverflow.com/..

backend/django 2017.03.23

장고스터디 블로그 만들기- github 초기 세팅과 연동

Blog porject 1. 폴더 만들기 /bestblog/라는 이번 프로젝트 용 폴더를 만듭니다. 2. git init 하기 git init 3. https://github.com/bartkim0426/bestblog 라는 원격 저장소를 가져오기 git remote add origin https://github.com/bartkim0426/bestblog => 해당 원격 저장소를 'origin'이라는 이름으로 가져옵니다. (깃에서 관습적으로 원격 저장소를 origin 이라고 한다고 합니다.) 혹은 ..

backend/django 2017.03.20

pyenv virtualenv 실행시 오류

맥에 pyenv, virtualenv를 처음 깔고 activate가 안 되는 문제에 부딪혔다. Failed to deactivate virtualenv. Perhaps pyenv-virtualenv has not been loaded into your shell properly. Please restart current shell and try again.이런 오류가 발생해서 한참을 고생하다가, 문제는 다른 곳에 있다는 것을 발견했다. bash 대신에 zsh 를 사용하여 .zshrc 파일에 eval "$(pyenv virtualenv-init -)를 추가해줬는데, 이전에 zshrc 파일에 있던 username 명령어가 잘못되어 있어서 실행이 안 되고 있었다. DEFAULT_USER=bartkim0426 ..

backend/python 2017.03.17