conda create -n tuto_board python=3.8pip install djangoconda activate tuto_boardmkdir myboarddjango-admin startproject config . config 다음에 .(dot) 을 찍었
무조건 봐야하는 링크https://developer.mozilla.org/ko/docs/Learn/Server-side/Django/Models참고하기 좋은 링크https://wikidocs.net/6667class 는 붕어빵 틀이고 여기에서 나오는
장고에서는 관리자 페이지를 제공한다. 부트캠프에서 진행한 프로젝트에서는 관리자 페이지를 사용하지 않았었다.모든걸 다시 배우는 차원에서 이번 부터는 관리자 페이지를 사용해본다.from .models import BoardMember: 현재 경로의 models 에서 클래스
register.html 파일을 생성한다.head 태그 내에 bootstrap 관련 cdn 정보들을 복사해 넣는다.https://getbootstrap.com/docs/4.5/getting-started/introduction/간단하게 회원가입 화면을 만들었다
부트스트랩에서 가져다온 정보를 일부 수정하고 label for, input type, id, placeholder 내용을 수정하였고 이메일과 비밀번호 확인 란을 새로 추가했다.그리고 가져온 코드에서는 input 에 name 속성이 없었다.name 값이 있어야 서버로 들
앞서 html 에서 만든 input 의 'name' 값으로 정보들이 전달된다."username", "email", "password", "re_password" 같은 name 필드의 값을 key 로 해서 전달이 된다.위의 코드처럼 값을 가져와 변수에 할당해 주었다.그런
Admin 페이지에서 확인해 보면 입력한 비밀번호가 평문으로 표기되어 있다.이 비밀번호를 암호화 해서 저장하는 경우를 만든다.작성하고 있는 views.py 코드 상단에 make_password 를 import 해 온다.비밀번호를 password=password 로 그대
콘텐츠 전송 네트워크(Content delivery network 또는 content distribution network (CDN))는 콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템을 말한다. 인터넷 서비스 제공자에
클라이언트 (웹 브라우저) 와 서버 (teddybear.com 예시) 사이의 요청과 응답을 통해 보도록 하자.최초에 클라이언트에서 처음으로 쿠키 없이 서버에 요청을 한다.그러면 서버에서는 cookie : 'ABCD..' 와 같이 클라이언트가 사용할 쿠키의 key 를 만
기존 만들었던 register.html 에서 이메일과 비밀번호 확인만 지워서 login.html 로 member app 내 templates 폴더에 저장해 주었다.일단 연결이 되는지만 확인하기 위해 login.html 로 render 하게 리턴만 했다.어떤 주소로 들어
앞서 포스팅한 과정을 테스트 해보니 뭔가 한번 깜박였지만 화면은 그대로이다.로그인하는 코드를 구현하다가 중도에 password 가 같은지 유무를 확인하고 같았을 때 진행될아래 코드를 pass 로 남겨 두었다.그럼 이제 이 pass 로 남겨 둔 부분을 세션을 사용해서 실
세션이 동작하기 위해서 '어딘가 에다가' 브라우저마다 저장을 하고 있었다.브라우저 어디 엔가에 어떤 형태로 세션을 사용하기 위한 정보가 들어가 있다.바로 "cookie" 라는 곳에 저장이 된다.복잡한 문자열로 된 key 가 클라이언트를 식별하는 식별자가 된다.그럼 이
view 와 엔드포인트 등에서 보여주는 여러 html 파일들이 있다. 뭔가 템플릿을 추가 할 때마다 매번 html 파일 내에 head 태그를 넣고, 메타 태그를 넣고, body 에 거의 똑같다 시피한 html 코드를 항상 복붙해 오거나 따라 쳐야 할까?이제부터는 하나의
현재 장고 로그인을 html 에 form 태그를 써서 만들었는데 이를 장고에서 제공하는 forms.py 를 상속받아 구현해 본다.장고에서 form 태그에 필요한 필드들을 만들어주고 관리를 해주므로 가독성과 편리함에 유리하다고 한다.기존에 작성한 login.html 에서
1. def login(request): form 을 이용하므로 views.py 내 작성한 로그인 함수는 전보다 코드가 간결해질 예정이다. 저번과 마찬가지로 로그인함수는 http method 가 POST 인지 GET 인지에 따라 나뉘어 진다. 2. is_vaild(
base.html 복사해서board_list.html 파일 생성부트스트랩에서 table 검색 후 적절한 것 가져다 붙여넣음'board'/ 로 시작되는 경로 설정하기 - 'board'/ 아래로 연결되는 경로는 board 앱의 urls.py 에서 관리하겠다.맨아래 urlp
board_list.html 복사해서 board_write.html 만들어서 넣기base.html 과 연결login.html 에서 사용했던 폼을 가져오기아래 버튼 이름을 글쓰기로 바꿈두 세 차례 과정을 거친 뒤 다시 수정할 예정member/forms.py 에서 복붙해
board_write.html 에서 복사필요없는 코드 삭제1) 포스트에서 (POST) 데이터를 올리는 코드가 아니므로 csrf token 토큰 삭제2) 반복문과 조건문 삭제3) 게시판에서 각각의 글을 확인하는 것이므로 input (제목부분) 과 textarea 는 re
로그인을 시도할 때 아이디와 (username) 일치하는 게 없다면 어떻게 될까?회원가입을 시도하지 않은 임의의 아무 username 을 갖다 붙이고 로그인을 시도했다.그랬더니 위의 화면이 나온다."BoardMember matching query does not exi
게시판에 글이 쌓이면 쌓일 수록 글 목록이 아래로 내려가면서 늘어날 것이다. 처음 너댓개 정도는 그런대로 봐줄만 하겠지만 극단적으로 100개 면 봐주기가 곤란할 것이다.그래서 page 를 나눠주는 pagination 을 할건데,board_list.html 에 글 목록과
게시판을 대략적으로 만들었는데 보완해야할 사항들이 필요하다.먼저 홈 ('/') 루트 디렉토리로 이동했을 때의 화면을 개선해야 한다.로그인 페이지에 회원가입 버튼 만들기대부분의 주소들이 링크가 걸려 있지 않다.로그인을 한 상태에서 로그인 페이지에 접근하면 홈으로 리다이렉