728x90 반응형 분류 전체보기362 Blogs App _ 인증 기능 어떤 웹을 만들던 인증 기능은 빼놓을 수 없다. 아무나 글을 수정하거나 지우면 안 되니까! 우리의 친절한 django는 이러한 중요 기능을 기본적으로 제공하고 있다. 오늘도 개발자 만세! 인증 기능을 담당하는 앱은 django 패키지의 django.contrib.auth ← 요 녀석이다. 해당 앱은 User라는 모델 클래스를 기본적으로 제공하고 있는데, User 테이블의 구조는 다음과 같다. 필드명 타입 제약 조건(default) 설명 id Integer PK, Auto Increment 기본 키 Username CharField(30) Unique 로그인 이름 first_name CharField(30) Blank 사용자 이름 last_name CharField(30) Blank 사용자 성 email .. 2021. 1. 5. Blogs App _ 검색 기능 블로그에 있는 수많은 게시글 중 하나를 보고 싶을 때, 모든 게시글을 뒤적일 수는 없는 노릇. 검색을 통해 원하는 게시글을 찾을 수 있는 기능을 추가해보자. 1. urls 작성 urls.py 검색을 담당하는 함수 SearchFormView 에 대한 url 요청을 추가! 2. forms 작성 검색을 하기 위해서는 할 수 있는 틀이 필요하다! → forms.py 에서 틀을 만들어주자. forms.py 이전 CommentForm을 작성했던 곳에 SearchForm도 적어주자. class의 두가지 인자 중, 이번에는 forms.Form 이라는 임의의 입력 틀(모델은 참조하지 않은)을 만들어줬다! 3. views 작성 views.py 우선 django generic view에서 FormView를 import! 방.. 2021. 1. 4. Blogs App _ 댓글 기능 아무런 소통 없이 인기 블로그가 되기란 불가능하다. 따라서 각 게시글에 댓글을 달 수 있는 기능을 구현할 예정! 1. model 생성 댓글을 담당할 모델을 새로 하나 만들어주자! models.py ForeignKey를 통해 Post 모델을 상호 참조하도록! on_delete=models.CASCADE 속성을 줘서 게시글이 지워지면 댓글도 지워지도록! 했던 내용이라 신난다! 2. Form 생성 Form이라는 녀석이 등장했다! 쉽게 말해 이용자가 입력할 수 있는 틀을 만든다고 생각하면 된다(아주 쉽게 말해). Form을 이용하기 위해 blogs앱 내에 forms.py 라는 파일 생성! 고정된 위치가 있는 건 아니지만... blogs앱에서 사용할 Form이므로 여기 만들어두자. forms.py django에서.. 2021. 1. 2. Blogs App _ tag 기능 인기 Blog라면 각 글마다 달 수 있는 태그 기능이 필요할 테다. 각 글마다 몇 개의 태그를 달고, 또 이러한 태그들을 한눈에 볼 수 있는 기능을 추가해보자. 1. 패키지 설치 처음 태그 기능을 생각했을 때는 새로 모델을 만들고... 상속받고... 어쩌고... 를 해야 할 것만 같았다. 하지만 인기 기능인만큼 django에서 미리 만들어둔 패키지가 존재한다. 개발자 만세! pip install을 통해 django-taggit 과 django-taggit-templatetags2 를 설치. 똑같이 패키지를 설치하더라도, 설정 파일(즉 settings)에 등록하는 경우와 그렇지 않은 경우가 존재한다. 지금 설치하는 두 패키지는 모두 settings에 등록을 해야 하는데, 이때 어떤 이름으로 등록할지 정해져.. 2021. 1. 1. Blogs App 대망의 블로그 앱. 우선 CRUD 대신 Admin에서 Post를 작성하고, 이를 페이지 개념으로 보여주는 기능을 구현해볼 예정이다. 참고하고 있는 책이 바뀌었기 때문에(파이썬 웹 프로그래밍 실전편) 새로운 프로젝트를 만들었다. blogsproject 프로젝트를 만들고 그 안에 blogs 앱 생성! 이때 blogsproject의 url와 blogs앱의 url을 분리해주자. (확장성에 있어 더 유용한 방법!) blogsproject.urls.py include 이용해 야무지게 blogs앱으로 url 연결! 이제 blogs앱에서 models, ulrs, views, templates작업을 하면 된다. 1. app 생성 2. model 생성 3. urls 작성 4. 각 views & templates 작성 이제.. 2020. 12. 31. Books App _ log 만들기 행요 서비스를 개발할 때, 정말 수백 번도 넘는 에러 페이지와 마주했다. 특히 배포 환경에서 에러 페이지나 문구를 만나면... 정말로 대략 난감. 어디가 잘못되었는지를 알아야 고칠 텐데, 이를 가르쳐 주지도 않는다. 그냥 두루뭉실하게 몇백 번 에러가 났다... 고 알려주는 게 끝. 이는 배포 환경에서뿐만 아니라 개발 단계에서도 마찬가지. 이럴 때 유용하게 쓸 수 있는 log를 만들어보자. log는 쉽게 말해 python의 print라 생각하면 된다. python에서 말도 안 되는 코드를 작성하거나, syntax를 빼먹는 등의 실수를 해 에러가 나는 경우는 너무나도 빈번하다. 이때 우리는 작성한 코드의 중간중간에 print()를 넣어 현재까지의 항목이 잘 출력되고 있는가를 확인한다. django 역시 파이.. 2020. 12. 30. Books App _ home 만들기 이제 우리의 mysite 프로젝트 안에는 두 개의 앱(Books, Polls)이 존재한다. 이 두 앱을 선택해 들어갈 수 있는 home페이지를 만들어보자. 우선 home페이지는 어떠한 앱에 속한 페이지가 아닌, 프로젝트의 첫 화면이다. 그러므로 url, view, template 모두 mysite 프로젝트 폴더 내에서 작성해야 한다! urls.py 최초 url 요청이 들어올 경우('') 작동할 HomeView를 연결. views.py 이전에 썼던 TemplateView를 사용해 페이지를 띄워주자! 띄울 페이지는 home.html. context에는 앱들의 이름인 polls와 books를 담아 app_list라는 이름으로 html상에 보내주자. home.html 이전 book_index.html을 처리했을.. 2020. 12. 30. Books App _ Template 상속하기 앱을 만들다 보면 다른 페이지라도 같은 속성을 공유하는 부분이 많다. 네브바처럼 어느 페이지에 가도 변함없는 부분 말이다. 이를 만들기 위해서는 모든 페이지에 똑같은 내용을 복사 붙여 넣기... 해도 되지만. 더 좋은 방법이 있다. 위와 같은 순간을 위해 django에서는 상속 이라는 기능을 만들어뒀다. 개발자 만세! 즉 기본 틀이 되는 html(여기서는 base.html)을 만들어두면, 간단한 코드 몇 줄로 해당 html의 양식을 어디서나 쓸 수 있는 것. settings.py 이를 위해 우선 django에 templates를 연결했음을 알려줘야 한다. settings.py에서 DIRS 부분에 os.path.join(BASE_DIR, 'templates')를 적어주자. base.html 기본 틀의 뼈대.. 2020. 12. 30. Books App 전체 흐름 1. 생성했던 mysite 프로젝트 내에 books app 생성 2. model 생성 3. urls 작성 4. 각 views & templates 작성 1. 생성했던 mysite 프로젝트 내에 books app 생성 같은 project라도 기능별로 앱을 구분 지어 만드는 게 좋다. 지난번 polls앱을 만들었던 mysite 프로젝트에 books라는 앱을 만들 생각. 기본적으로 책, 저자, 출판사 정보를 담고 이들의 정보를 조회할 수 있는 앱이다. 우선 앱 별로 urls을 관리해주기 위해 polls.urls와 books.urls을 분리해준다. mysite.urls.py 우선 기본적으로 작성되어있는 mysite의 urls에 들어간다. 'books/' -> include('books.urls')) .. 2020. 12. 29. 이전 1 ··· 35 36 37 38 39 40 41 다음 728x90 반응형