next 방식 구현웹페이지 어디에 있더라도(B페이지) 로그인 후 다시 B페이지로 redirect하는 방식이에요. 사실 생각해보면 회원가입, 로그인, 로그아웃, 이메일 인증등 정형화된 패턴들에 대해서 수많은 사람들이 비슷하고 혹은 동일한 방식으로 소스코드를 구현했을 거에
장고에서 form들을 일괄적으로 bootsrap의 디자인을 적용하여 더욱 깔끔한 UI를 제공하도록 해볼게요.그러기 위해선 3rd party library를 이용 할 건데요.django-bootstrap4 라이브러리 설치django-bootstrap4 app설치 sett
DetailView를 이용한 활용과 그 쓰임에 대해 대략적으로 짚어보도록 할게요.from django.contrib.auth.models import User에서 가져온 User를 model 값으로 지정하고context_object_name = 'target_user'
목적 로그인 이후 사용자가 자신의 프로필 정보를 변경 하고자 할 경우의 기능을 구현하고자 합니다. 준비물 UpdateView UserCreationForm View 사실 회원가입 View로직과 프로필 정보 변경 View로직은 크게 다른 부분이 없습니다. post
DeleteView를 이용하여 사용자의 계정을 삭제하기위한 MTV를 구현해보고 활용해 볼게요.DeleteViewdelete.htmlAccountDeleteView를 선언하고 DeleteView를 상속받을거에요. 내부 변수는 model, success_url, templ
참고로, 이 방법은 매우 원시적인 방법입니다. 즉, 실무에서는 이렇게 하지 않고 단순히 1차원적인 방법으로 적용하였을때 어떻게 하면 될지? 라는 순수한 학습적 탐구심에 의해 기인된 소스코드입니다.: 기존 소스코드에 대한 버그 fixing을 진행하고 어떤 유저가 get방
코드 가독성을 높이고 불핀요한 볼륨을 줄여 소스 코드 개선을 위해서는 데코레이터는 필수에 가깝습니다. 여기서는 Update, Delete 화면에 해당하는 유저 프로필 수정과, 삭제에 decorator를 입혀 그 효용을 알아 볼게요.기존에 우리가 함수 내부에 작성했던 i
유저의 프로필 화면에 사진도 있어야 겠조? 그러기 위해선 사진을 다루기 위한 설정이 있어 줘야해요. MTV 패턴이 진행되기전 중간중간 연결고리와 초기 설정부분에 대해서 한번 다루어 볼게요.settings.pyMEDIA_URL은 해당 URL로 가야지 미디어 파일에 접근
새로운 앱인 profile을 만들고 account 객체와 profile간의 관계를 정의해볼게요. 그리고 새로운 profile 앱의 model에는 어떤 클래스 변수들이 정의되어야 할지 생각해볼게요.manage.py 파일이 있는 경로에서 아래 명령어를 실행하여 앱을 만들도
목표 유저의 프로필 화면이 출력 되도록 서버쪽 로직을 구현 해보도록 할거에요. 유저의 프로필 이미지, 이름, 간단한 메시지 이렇게 3개를 출력하기 위한 View 로직을 중점적으로 다뤄 볼게요. 이전에 했던것 profile앱 생성 settings.py, 프로젝트 ur
목표 : profileapp을 종결 시킬게요. 🤗 view 작성 template 작성 url decorator view > 기존 ProfileCreateView 상속하면 되요! 하지만!!!! 그대로 복붙하면 되는 문제점이 있다는거 하나, 그건 상속 받을 제네릭
현재 우리가 프로필 정보를 수정하고 나면메인 화면으로 가게 되어있어요. 사실상 프로필 수정 입력화면 -> 프로필 화면으로 가는 것이 자연스럽습니다. 이를 수정할게요.그런데 그냥 단순히 success_url = reverse_lazy('accountapp:detail'
게시물의 표현을 입체적이고 개성있게 표현하기 위해 자바스크립트 라이브러리 중 하나인 magic grid를 사용하게 됩니다.즉, 우리가 아는 핀터레스트 레이아웃을 만들기 위한 도구에요.github에서 magicgird repository로 가서 JSFIDDLE이라는 링크
어떤 Generic View를 선택할지 결정했다면, 해당 뷰에 정의된 속성(변수)과 메소드를 확인하여 어떤걸 오버라이딩 할지 정해야해요. 기본 뷰(View, TemplateView, RedireceView) 3개와 FormView를 빼고는 모든 Generic View에
Class inheritance, method overriding기능이 가능한 generic view는 하위 클래스에서 오버라이딩이 쉽고 여러가지 어플리케이션에 다양하게 사용 되도록 설계 되었다는거 아시나유?그런 측면에서 특히 generic view의 메소드들은 단위
클래스마다 메소드를 찾는 순서를 정한 MRO Method Resolution Order 속성?!다중상속이 가능한 파이썬이므로 둘 이상의 부모 클래스에 존재할 경우 어느 메소드를 먼저 사용해야 할지 결정하는 알고리즘이 바로 이거에요ListView MRO참고로 class
모델은 데이터에 대한 하나의 정보 소스입니다. 모델은 저장하고 있는 데이터의 필수적인 필드와 동작(메소드)을 포함하고 있어요. 일반적으로 각각의 모델은 하나의 데이터베이스 테이블에 Mapping 된답니다.기본사항:파이썬 장고의 모델들은 모두 django.db.mode
안녕하세요. ORM연습을 위한 self 블로그 포스팅을 해보겠습니다. django project를 하나 만드세요.from django.contrib.auth.models import User 테이블을 이용할거에요.sqlite3를 이용할거에요.(설치 및 사용법에 대해 쪼
이전 OR연산자에 이어 두번째입니다. 이번에는 AND연산자를 한번 조져 볼게요. and 연산으로는 조건1, 조건2 둘중 하나만 만족하는게 아니라!!! 조건1과 조건2 두 마리 토끼를 잡으려는 욕심 많은 녀석이라는거! 차이를 이해하셔야해요. 이름이 R로 시작하고 성
Everything Is AWESOME
두 쿼리셋을 구한 뒤 합해 봅시다!
!youtubeFQRrFVZAbs0Tones and I - Dance Monkey알고 듣는 노래~2019년 5월 10일, Tones And I는 두 번째 싱글인 "Dance Monkey"를 발표했다. 이 노래는 호주, 오스트리아, 벨기에, 캐나다, 중국, 덴마크, 핀란
!youtubeVBdRPIB_bFsVanJess - Touch the FloorVanJess 는 Ivana와 Jessica Nwokike 자매로 구성된 나이지리아 R&B 듀오에요. YouTube에서 커버 곡을 시작으로 경력을 시작어요. 그중 Drake 의 "Headli
장고 ORM에서 필드를 고정 값과 비교하여 항목을 선택하는 것은 간단합니다. 예를 들어, 이름(first_name) 이 'R' 로 시작하는 User 모델의 행을 구하려면 User.objects.filter(first_name\_\_startswith='R') 와 같이
!youtubexGbxsiBZGPIONE OK ROCK -「完全感覚Dreamer일본의 4인조 록밴드이다. 소속사는 아뮤즈, 소속 레이블은 A-Sketch/Fueled by Ramen 약칭으로는 원오크, 원옼, 왕오쿠,원옼랔 등이 주로 사용된다. 영어로는 OOR밴드의 이
Django의 QuerySet method를 간단하게 짚고 넘어가 볼게요. 모든 QuerySet method에 대해 낱낱이 분석하고 실습하는것에는 상당한 시간과 노력이 필요하니 일단 기본적인 것들의 토대에서 살을 필요할 때 마다 붙여 나가는 방식으로 진행하는 것이 더
SQL에서는 JOIN을 이용해서 동일한 값을 가진 column(field)을 기준으로 두 table을 합칠수 있어요.
앞서서 인증 인가에 대한 개념을 할짝! 했으니 지금은 직접 키보드 뚜드리면서👨💻 몸으로 익히는 TIME을 가져봐야해요bcrypt - pypi실습을 위한 가상환경python venv 혹은 conda env로 가상환경을 만들게요.bcrypt pyjwt 요 두개를 pi
테이블에는 메소드가 없지만 모델 클레스에는 메소드를 정의할 수 있습니다. 여기서 주의할 점은 클래스 메소드와 객체 메소드를 구분하는 거에요.클래스 메소드 : 테이블 레벨에서 동작객체 메소드 : 레코드 레벨에서 동작장고에서는 클래스 메소드를 사용하지 않고 객체 메소드만
아래와 같은 모델이 있습니다. 방에 대한 모델인데요. 디비에 수많은 방에 대한 레코드들 중에서 특정 방에 대한 접근을 하려면 그 URL을 하드코딩한다는게 상당히 피곤한 일일거에요. http://127.0.0.1:8000/admin/rooms/room/480/c
rooms/views.py기존 작성된 코드를 근간으로 짜보겠숩니돠쿼리셋도 있는데 굳이 인스턴스를 바로 가져온다고요?쿼리셋 여러개가 필요한개 아니라 현재 이시점에서는 인스턴스 하나만 가져오는게 더 효율적이겠쥬?! 즉 상품하나!를 딱 가져오는거에요.참고로pk가 어디서 굴러
404페이지를 만드는 이유는 통상 브라우저가 404 status code를 이해하기 때문 방문기록창에 저장하지 않음로컬에 기록이 남지 않음코드는 지난번에 이어서 진행하도록 할게요.https://velog.io/@hyeseong-dev/django-FBV-abo
CBV냐 FBV냐? 논쟁이 많은데. 편한거 사용하면 되겠쥬?개인적으로 생각하기에는 함수로 차근차근 다져놓고 이후 매번 중복되는 코드를 리팩토링하기위해서 클래스로 넘어가는게 매우 바람직하다라고 생각되네요. 아쨋든 Django Official Document는 물론이거니와
검색 기능을 구현해보조. 추가적으로 아래 사항도 점검해 볼게용.querystringformdjango template 문법인덴테이션 주의 클래스 안에서 만드는건 메소드. 독자적이면 함수라는점. 여기서 우린 함수 만드는거에요!templates/rooms/search.ht
base64로 인코딩한 데이터를 requests객체의 post메서드에 담아 보내니 아래와 같은 오류가 나타났습니다. 바로 구느님에게 달려가 검색해보니 아래와 같이 설정하면 된다는 사실을 확인했습니다. 링크settings.py 파일에 명시된 코드들만 그대로 복붙하니 정상