Server 38

10. Django product app 상품 상세보기

상품 상세보기 또한 기본적으로 제공하는 View 중에서 DetailView를 사용해서 구현해 볼 것이다!! ( 지금까지 배운것 2가지 : FormView, ListView ) from django.views.generic import ListView, DetailView from django.views.generic.edit import FormView 똑같이 template_name 지정하고, 적절한 형식만 맞추면 된다. 가보자잉!!!! 1. views.py 2. product_detail.html 3. urls.py 4. primary key 5. bootstrap 6. 링크 연결 1. views.py 여기서 달라지는 것은 queryset 이라는 변수에 특정 값을 넣어줘야 한다.!!!!!!!!!!!!..

9. Django product app 상품등록 만들기

이제 상품을 등록하는 기능을 만들어보자 이전 상품목록을 보여주는 기능은 DB에 저장된 데이터를 List를 보여주는 것이기에 등록할 상품을 구조과 형식에 맞게 DB에 저장하도록 페이지와 코드를 작성해보자 등록은 회원가입과 유사하기에 register_product.html 과 forms.py를 생성한다. 다음과 같이 큰 틀로 나눌 수 있다. 1. forms.py 2. register_product.html 3. views.py, urls.py 4. 결과확인 5. summernote 과 깨알지식들 및 해당 결과 확인 1. forms.py forms.py 의 경우 지금까지 같이 해왔다면 받고 싶은 데이터를 form으로 받는 것이기에 product에 해당하는 데이터는 models.py에 정의되어 있다. 그 구조로..

8. Django product app 상품목록(list) 만들기

이제 상품에 대한 app을 만져보자 1. model 이전에 완성한 product의 model을 보면 다음과 같다. 2. view 우선 product의 경우 list를 사용하기 ListView를 이용한다. (user에서는 FormView를 사용햇다.) 여기서 이해를 돕기위해 복습하자면, 우리는 view를 만들때 하나씩 함수로 구현이 가능하다. 하지만 django에서는 기본적으로 내부적으로 간단하게 이용 가능한 몇가지의 View들이 존재하고 우리는 views.py에서 해당 class를 사용할 특정View를 상속받은 뒤, 프레임워크의 특징처럼 구조에 맞게 몇가지 설정만 하면 된다. ListView의 경우 어떤 모델의 리스트를 보여줄 것인지 모델을 지정해주어야 한다. (모델만 지정해주면 끝이다.) 3. url ..

7. Django 로그인 view 구성

로그인의 경우 회원가입과 비슷한 구조를 갖는다. 그래서 설명이 빈약할 수 있다ㅎㅎ 다른점이 있다면 ★session★ 이다. 밑에서 자세히 설명하겠지만 맛보기로 설명하자면, 로그인이 되었을 때와 로그인이 되지 않은 상태에서는 서로 다른 권한을 갖고 있고 현재 페이지도 그 권한에 따라 다를 수 있는 것이다. 그렇다면 로그인이 되었다면 뭔가를 더 가졌다는 말이고, 이를 어떻게 설정하는지도 보자!! 1. templates ( 'login.html' ) 해당 templates를 register.html에서 로그인으로 몇 가지 text만 수정하면 된다. 기본적으로 form형태를 유지하도록 완성되어있기에 궁금한점은 댓글 적어 주세요~ 2. forms (LoginForm) 비밀번호 확인에 해당하는 re_password..

2. 쿠키와 세션 (cookie and session)

우리가 웹페이지에 접근을 할 때 로그인이 되어 있을 때와 로그인이 되어있지 않을 때는 다양한 것들이 다르게 반응한다. 권한도 다르고 해당 페이지도 다르게 나타날 수 있다. 그렇다면 로그인 후에는 웹페이지를 돌아 다닐때마다 로그인을 했다는 표시인 열쇠?키? 같은 것을 들고 다니는 듯하다. 그것이 아니라면 페이지마다 로그인을 해야겠지. 그럼 쿠키와 세션은 무엇을 뜻하는 걸까? 좀 더 파헤쳐 보자!!!! 1. 전체 동작원리 (쿠키이용, 세션이용) 자! 우리는 지금 웹페이지에서 어떻게 동작하는지 보자! 내가 네이버에 들어가기 위해 naver.com을 검색하면 naver의 서버에 내가 요청을 하게 된다. 그럼 서버에서는 해당페이지를 나한테 응답하고 그것을 화면에 띄워주는 것이 큰 틀이다. 웹페이지가 동작을 할 때..

Server/Django issue 2020.09.23

6. Django 회원가입 view 구성

bootstrap을 이용하여 기본적인 UI를 구현하여 django의 흐름을 더욱 이해하도록 회원가입을 만들려고 한다. getbootstrap.com/docs/4.3/getting-started/introduction Introduction Get started with Bootstrap, the world’s most popular framework for building responsive, mobile-first sites, with BootstrapCDN and a template starter page. getbootstrap.com 해당 bootstrap에서 css, js에 해당하는 부분을 복사하여 head부분에 붙여넣기 해준다. 이렇게 되면 bootstrap을 사용할 수 있는 구조는 완성이 되..

5. Django view 구성 (Class-based generic views)

views.py의 경우 특정 url에 접근할 때 특정 함수로 호출되도록 하는 경우를 넘어서 Class 기반으로 view를 구성해보자!!!! Class를 이용하게 되면 inheritance(상속)을 이용할 수 있게 되고, 부모클래스의 함수들을 활용도가 매우 높다. 우리가 직접 클래스를 만드는 것도 가능하지만!! 우선 django 안에 만들어진 몇 가지의 view를 살펴보자 개발자면 갬성있게 공식홈페이지 들어 가줘야지!!!!! docs.djangoproject.com/en/3.1/ Django documentation | Django documentation | Django Django The web framework for perfectionists with deadlines. Overview Downlo..

4. Django admin 구성 (관리자 페이지)

admin 구성 (관리자 페이지) Django admin 이 무엇인지 보고 우리가 만든 모델을 적용해서 사용해보자. 각 app에 있는 admin.py를 수정해서 등록을 해줘야한다. 기본적으로 settings.py에 admin은 설정이 되어있다. 프로젝트 생성 시 자동으로 생성되는 urls.py에도 기본적으로 admin은 들어가 있다. 의미를 설명하자면 admin안에는 여러가지 url들이 정의가 되어있고, 그것들을 프로젝트 안에서 admin 하위 ( admin/{여기} ) 로 지정하는 것이다. (관리자 페이지에서도 여러가지 url들을 사용하고, 또 그것들이 admin안에 정의가 되어있다.) 그렇기에 우리가 주소를 입력할 때, admin 하위에 들어가는 주소들은 admin.site.urls 안에 정의된 ur..

3. Django model 구성 (데이터의 정의)

model 구성 (데이터의 정의) Users를 관리하기 위해 필요한 데이터들을 DB(데이터베이스)에 넣겠다는 의미이다. verbose_name : 지칭하는 닉네임이라고 보면 된다. CharField : 최대길이를 지정해 주어야 한다. TextField, EmailField : CharField와 다르게 max_length(최대길이)를 지정할 필요 없다. DateTimeField : auto_now_add를 통해 현재 시간으로 자동 추가가 가능하다 def __str__(self) : 해당 클래스의 객체는 self.email로 반환됨을 의미한다. class Meta : 해당 데이터들이 묶여있는 table과 admin 페이지에 있는 닉네임을 지정한 것이다. _plural : 복수형을 의미하며, 사실 데이터가 ..

2. Django 설치 및 환경 구축

yeongwoo-cho.tistory.com/5 1. 나 이제 윈도우에서 우분투로 개발할래(WSL과 VScode) 웹 애플리케이션을 빌드하는 경우 Python을 WSL에 설치하는 것이 좋다. Python 웹 개발에 대한 많은 자습서와 지침은 Linux 사용자를 위해 작성되었으며, Linux 기반 패키징 및 설치 도구를 사용한다. 대 yeongwoo-cho.tistory.com 나는 위에 방법으로 OS Windows에서 VScode의 Terminal을 Ubuntu로 사용하고 가상 환경까지 구축하였다. 우선 장고를 설치해야지 $ pip3 install django django를 설치하게 되면 django-admin 이라는 명령어를 실행할 수 있게 되고, 이 명령어를 통해서 project와 app도 만들게 된..

1. Structure of django framework

핵심 : model 계층, template 계층, view 계층, (MVC 계층, MTV계층) 핵심이 되는 아래의 3가지를 쉽게 사용하도록 제공해준다. 모델 계층 : 데이터를 정의한다! 템플릿 계층 : 동작된 결과로 무엇을 보여줄 것인가! 뷰 계층 : 데이터를 갖고 어떤 동작을 한다! model 계층 : 데이터 베이스와 연동하는 과정이며, 기본적으로 데이터 베이스에 데이터를 R/W 할 때는 SQL이라는 문법을 사용해야 한다. but 장고에서는 모델 계층의 python 클래스로 만들고 그것을 연결만 해주면 함수만 사용해서 자동으로 SQL을 생성할 수 있다. 생성하는 SQL을 볼 필요도 없고, 데이터를 저장하고 싶으면 save함수만 호출하면 저장된다. 이런 것들을 제공하는 계층이 모델 계층이다. 중요한 것은..

0. Django Project 1 - shopping mall (Introduce)

● 장고를 통한 쇼핑몰 일부 만들기 ●회원관리 ●상품관리 ●주문관리 ● 클래스를 활용한 뷰 생성 ● 함수 vs 클래스 => 뷰의 재사용 함수로 구현하면 페이지마다 전부 다 구현해야 한다. But, 클래스로 구현하면 상속받을 수도 있고 유리한 점이 많다. 이미 만들어진 클래스들도 꽤 있다. ● 데코레이터 => 기능의 재사용 중복 사용 가능성이 있는 코드들을 한 곳에 놔두고 재사용 할 수 있게 한다. 예를 들어, 상품등록은 관리자만 사용가능 해야하기에 페이지 A, B, C 중에서 A, B는 관리자만 접근가능하도록 권한 설정 같은 것을 해야한다. 이러한 설정은 모든 페이지마다 만드는 것은 비효율 적이기에 데코레이터를 통해 기능 또한 재사용 하도록 하는 것을 배워보자 ● DRF로 RESTful API도 개발 최..