본문 바로가기

개발66

Pagination 한 페이지에 일정 개수의 게시물만 보이는 페이지네이션을 진행해보겠습니다. #views.py from django.core.paginator import Paginator def main(request): blog_all = Blogapp.objects.all().order_by('-id') #쿼리셋, 객체목록 가져오기 #블로그 객체 세 개를 한 페이지로 자르기 paginator = Paginator(blog_all,3) #블로그 객체 세 개를 한 페이지로 자르기 page = request.GET.get('page') #request된 페이지를 얻어온 뒤 return 해 준다 posts = paginator.get_page(page) # blog_all = blog.all() return render(re.. 2020. 7. 23.
로그인, 회원가입 3 -User Model 확장 / OneToOneField 사용 Django 에는 기본적으로 정의되어 있는 User 모델이 있습니다. 이때 기본적으로 정의되어 있는 모델보다 더 다양한 정보를 넣고 싶을 수 있겠죠? User 모델의 확장 여러 가지 방법 프록시 모델 사용하기 User 모델과 일대일관계의 테이블 추가하기 AbstractUser 모델 상속한 사용자 정의 User 모델 사용하기 AbstractBaseUser 모델 상속한 사용자 정의 User 모델 사용하기 User 모델과 일대일관계의 테이블 추가 기존 User 모델과 OneToOneField로 일대일관계를 맺는 Django 모델을 추가해서 사용자에 관한 정보를 추가로 더 저장하는 방법입니다. 이는 쟝고의 인증 시스템을 그대로 활용하고 로그인, 권한 부여 등과 상관이 없는 사용자 정보 필드를 추가하고자 할 때 .. 2020. 7. 21.
쿠키와 세션 비교 HTTP 특징 HTTP를 통해 하는 통신의 가장 큰 특징은 두가지 입니다. '비연결성', '상태정보를 유지하지 않는 무상태(stateless)' 1. 비연결성 비연결성은 클라이언트와 서버가 한 번 연결을 맺은 후, 클라이언트 요청에 대해 서버가 응답을 마치면 맺었던 연결을 끊어 버리는 성질을 말합니다. 장점 HTTP는 인터넷 상에서 불특정 다수의 통신 환경을 기반으로 설계되었습니다. 이때 다수의 클라이언트와 연결을 계속 유지한다면, 서버에 부담이 죄겠죠? 웹의 비연결성이 많은 클라이언트가 접속하기 쉽도록 하여 초기 웹서비스를 빠르게 성장시킨 계기가 되었습니다. 단점 서버는 클라이언트를 기억하고 있지 않으므로 동일한 클라이언트의 모든 요청에 대해, 매번 새로운 연결을 시도/해제의 과정을 거쳐야하므로 연결/.. 2020. 7. 21.
로그인, 회원가입 2 -Blog Model - User Model 연동, 1:N 이제 게시판과 유저를 연결시켜,해당 유저가 쓴 게시물인 것을 알 수 있도록 해보겠습니다. 이때 하나의 유저당 몇개의 게시물을 쓸 수 있나요?제한이 없죠?이런 경우, user model과 blog model의 관계는 1:n관계인 것을 확인 할 수 있습니다.이렇게 데이터베이스 간의 연결을 하는 것을 관계형 데이터베이스라고 합니다. 사실 이외에도 1:1, 1:N, N:M 관계가 있지만 우선은 1:N부터 알아보자구요! 1:N관계우리는 1:N관계를 만들어주기 위해Blog 모델을 바꿔줄 겁니다:>! 1. 기존의 흔적(?) 지우기서버를 끄고, db.sqlite3 와app폴더/migrations 에서 init.py 를 제외한 파일과 폴더를 삭제하세요. 2. Blog Model 수정2.1) User 모듈 추가#blog/.. 2020. 7. 20.
728x90