본문 바로가기

반응형

BackEnd/Django

(7)
AbstractUser를 이용한 Custom User Field 확장 방법 Django AbstractUser를 이용한 Custom User Field 확장 방법 다른 여러 블로그 등을 찾아보았지만 장고를 이제 막 시작한 나한테는 설명을 이해하기가 쉽지 않았다. 아래 내용은 장고의 User 모델을 사용하면서 User Field 확장을 쉽게 하는 법을 설명한다. 해당 내용은 장고의 공식 문서를 참고해서 작성하였다. 조건은 현재 CreateView를 통해 UserCreateView를 생성했다는 가정 하에 작성한다. 1) 새로운 app 생성 User의 Field를 관리할 앱을 생성한다. python manage.py startapp account 2) models.py 작성 User 필드에 추가할 내용을 작성한다. # account/models.py from django.db imp..
Django 장고 - Secret key 파일 분리하는 방법 장고 프로젝트를 Git에 업로드 하거나 배포할 때, 보안상으 이유로 Secret Key를 분리해야 합니다. 이번에는 Secret Key를 파일로 따로 관리하는 방법에 대해 알아보도록 하겠습니다. secrets.json 파일을 만들기 - 먼저 secret key를 담을 secrets.json 파일을 manage.py과 같은 위치에 만듭니다. - 이 json file의 형식은 아래와 같습니다. - "SECRET KEY" 부분에 본인의 SECRET KEY를 입력해주면 됩니다. { "SECRET_KEY" : "SECRET KEY" }​ settings.py을 수정해줍니다. import os # json file을 읽기 위해 json module을 import 합니다. import json # Error 발생시 ..
Django 장고 Form_valid 함수 Django의 view 안에 있는 form_valid 함수에 대해서 간단하게 알아보도록 하겠습니다. def form_valid(self, form): form_valid 함수는 유효성 검사가 끝났을 때 호출되는 함수입니다. form_valid를 추가해 정보를 저장합니다. 예를 들어, ID 가입을 확인하는 기능을 만든다고 했을 때의 경우 ID 가입을 위한 Form을 작성하도록 합니다. 여기서 user의 ID가 중복이지 않고, password와 비밀번호 확인을 위한 check_password가 같은 경우에 form_valid 함수는 user정보가 저장되도록 합니다.(form.save()) 만약 password와 check_password가 다른 경우 form_valid 함수가 동작하지 않아 유저정보가 저장되..
Django 장고 ORM으로 OR/AND 사용하기(Q 사용) # Django Queryset(ORM)으로 OR/AND 사용 방법 (WHERE절) # Q 활용방법 # SQL의 OR/AND 사용하는 방법 # 비전공자가 이해한 Django 1. AND AND 사용 방법은 간단합니다. filter 함수 안에 "Field명=값" 으로 표현하면 됩니다. # view.py 파일이나 python shell 에서 사용 # shell 에서 사용하는 경우 from .models import catalog_info catalog_info.objects.filter( cat_id="cat0001", cat_name="Javis", cat_code="MARK07" ) 2. OR 기본 사용 방법은 아래와 같이 catalog_info 모델에서 cat_id가 "cat0001" 또는 "cat00..
Django 외래키(Foreign Key)를 이용해 정보를 불러오는 방법 모델은 Owner, Brand, Car_Model, Car 총 네 가지 모델로 구성했습니다. 외래키 관계로 엮인 네 모델을 어떻게 template에서 참조하는지 알아보도록 하겠습니다. # 비전공자가 이해한 Django 기본적인 파일 구성은 아래와 같습니다. 불필요한 파일은 삭제하고 이번 실습에서 사용할 파일들만 남겨두었습니다. 앱 생성하는 과정은 생략하였습니다. *저는 project를 생성할 때 setting으로 프로젝트를 우선 생성하고 프로젝트 폴더의 명을 변경하는 식으로 합니다. 따라서 settings.py 파일이 setting 폴더 아래에 가게 되고, 가장 상위 폴더는 project로 만들어 두었습니다. 1. settings.py 우선 settings.py 파일을 열어 생성된 앱을 등록하고, tem..
Django AbstractUser를 이용한 Custom User Field 확장 방법 AbstractUser를 이용한 Custom User Field 확장 방법 (How to expand UserField Using "AbstractUser" in Django) * 다른 여러 블로그 등을 찾아보았지만 장고를 이제 막 시작한 나한테는 설명을 이해하기가 쉽지 않았다. * 아래 내용은 장고의 User 모델을 사용하면서 User 모델 Field 확장을 쉽게 하는 법을 설명한다. * 해당 내용은 장고의 공식 문서를 참고해서 작성하였다. # 비전공자가 이해한 Django 1. 새로운 app 생성 User의 Field를 관리할 앱을 생성한다. python manage.py startapp account 2. models.py 작성 - User 모델에 추가할 내용을 작성한다. # account/mode..
Django 파일 업로드(File Upload) 장고에서 간단한 방법으로 하나의 파일을 업로드 하는 방법을 설명한다. # 비전공자가 이해한 Django 1. templates.py Save File {% csrf_token %} Upload entype="multipart/form-data" : form에서 받는 모든 정보를 모두 인코딩하지는 않는다는 뜻으로 이 부분을 설정하지 않으면 form에서 filename 정도만 받아오게 된다. 이 방식은 파일이나 이미지를 서버로 전송할 때 주로 사용한다. accept="" : ""안에 파일 확장자가 들어간다. 이 부분을 설정하면 해당 확장자만 볼 수 있게 된다. name="myfile" : 입력받은 파일을 myfile이란 이름으로 view에 넘겨준다. 2. views.py from django.shortcut..

반응형