Daily - New

김기훈·2025년 11월 29일

Daily

목록 보기
1/2
post-thumbnail

Django


2025/11/09

  • 1. templates/blog_list 이렇게 생성하면 자동으로 폴더까지 생성됨

  • 2. Pycharm에서 모듈을 자동으로 import 하기위해서 : option + Enter


2025/11/10

  • 1. django에서 post를 보내기 위해서는 csrf_token 꼭 필요

  • 2. 같은 의미의 코드지만 단순화


2025/11/11

  • 1. Command 누르고 클릭해보면 함수의 사용법을 알 수 있음

  • 2. pycharm 에서 Comand + R = 이름 바꾸기

  • 3. pycharm 에서 Command + , -> 키맵 -> caret

    • 여러개 한번에 드래그 같은거 가능
  • 4. cmd + shift + F = 전체검색


2025/11/12

  • 1. 특정 범위를 드래그 한 후에 tab 을 누르면 들여쓰기 한칸

    • shift + tab 를 누르면 안쪽으로 한칸
  • 2. **

test_dic = {
	'a': 1,
  	'b': 2,
	'c': 3    
}

# 두개 동일 
self.test(a=test_dict['a'],b=test_dict['b'],c=test_dict['c'])
self.test(**test_dict) ✅

test_list =[1, 2, 3]

# 두개 동일 
self.test(test_list[0],test_list[1],test_list[2])
self.test(*test_list)

2025/11/14

  • 암호화
    • qwer1234 → dwafawfaf → 복호화 → qwer1234
  • 해시화
    • qwer1234 → dwafa / wfaf → 암호화(dwafa) → 암호화 반복 → 복호화 불가능
      • SHA256
  • Command + / → 주석 만들기


2025/11/16

  • 특정 마이그레이션 파일 적용하기

# 현재 마이그레이션 된 파일 확인
>> python manage.py showmigrations

# 특정 마이그레이션 적용
# 이후 미적용 대상인 마이그레이션 파일 삭제
>> python manage.py migrate post 0001

# 다시 가장 최신의 마이그레이션 파일 만들기
>> python manage.py makemigrations

# 마이그레이트
>> python manage.py migrate

# 0번 마이그레이션 파일로 돌리고 싶을 때
>> python manage.py migrate post zero

2025/11/24

  • Django에서는 기본적으로 Primary Key(PK) 가 필요

    • 내가 따로 PK를 지정하지 않으면
    • Django가 자동으로 id = models.AutoField(primary_key=True) 를 생성
# 이렇게 작성해놓으면
class Blog(models.Model):
    title = models.CharField(max_length=100)

## 실제로는 
class Blog(models.Model):
    id = models.AutoField(primary_key=True)   # Django가 자동 생성
    title = models.CharField(max_length=100)
  • 즉, id가 아닌 다른 이름으로라도 pk값이 한개라도 존재한다면 id 값은 생성되지 않는다.
  • 일반적으로는 user, account로 이름 짓고 Django가 자동으로 _id 붙임.

  • fields / read_only_fields 의 차이

class AccountSerializer(serializers.ModelSerializer):
    class Meta:
        model = Account
        fields = [
            'id','name', 'created_at',
        ]
        read_only_fields = ['created_at']

# 응답(JSON)
{
  "id": 1,
  "name": "국민은행",
  "created_at": "2025-11-24T05:32:00Z"
}

# 요청(POST)
## created_at에 값을 보내도 무조건 무시됨
### 실제 DB 저장 시 created_at은 자동 생성된 값으로 기록됨.
{
  "name": "우리은행",
  "created_at": "2023-01-01"
}
  • fields = Serializer

    • 어떤 필드를 응답/입력 대상으로 사용할지 결정하는 목록
    • 클라이언트가 볼 수 있는 필드 | 클라이언트가 전송할 수 있는 필드 | 전체 출력 구조
  • read_only_fields =

    • 해당 필드는 클라이언트가 값을 수정하거나 전송할 수 없음!(오직 서버가 관리)
    • POST/PUT/PATCH 요청에서 사용자가 값을 넣어도 무시됨
    • Serializer 에서 출력은 되지만 입력받지 않는 필드


2025/12/01

  • 알고리즘이란?

    • 문제를 해결하기 위한 절차(논리적 단계)를 글이나 의사코드(pseudocode)로 표현하는 것
    • “어떤 입력을 받아서 → 어떤 과정으로 처리하고 → 어떤 출력이 나와야 하는가” 단계별 정리
      • 즉, 알고리즘 작성 = 설계 + 절차 정의
      • 코드를 어떻게 짤지 누군가 이해할 수 있게 설명하는 문서라고 생각하면 됨.
  • 예시 1 - “가계부에 거래 등록 기능” 알고리즘 작성

    • 코드 제외 흐름만
        1. 사용자가 거래 등록 폼을 제출한다.
        1. 입력값(금액, 카테고리, 날짜)이 유효한지 검사한다.
        1. 검사를 통과하면 DB에 Transaction 객체를 저장한다.
        1. 저장된 거래는 해당 사용자의 거래 목록에 포함된다.
        1. 등록이 완료되면 거래 목록 페이지로 리다이렉트한다.

2025.12.03

  • 프로젝트 전체에서 문자열 검색: Command + Shift + F
  • 특정 파일 이름 찾기 (파일 검색): Command + Shift + O
  • 함수 / 클래스 이름으로 검색 (심볼 검색): Command + Option + O

DRF

profile
안녕하세요.

0개의 댓글