Django | crispy-forms 사용하기(bootstrap5)
·
Django
포스트 작성 페이지에서 로 만들어진 입력 폼이 한쪽에 치우쳐 있어 모양이 예쁘다고 볼 수 없다. 이런 문제를 crispy-forms를 사용하여 오른쪽 그림과 같이 해결할 수 있다. bootstrap4 기준으로는 pip install을 이용해 하나만 설치해 주면 되지만 bootstrap5에서는 추가로 하나를 더 설치해주어야 한다. pip install django-crispy-forms pip install crispy-bootstrap5 그다음 설치한 모듈들을 settings.py에 등록시켜주어야 한다. INSTALL_APPS에 crispy-forms와 crispy_bootstrap5를 등록시켜 주고, 맨 아래에 bootstrap5를 사용하겠다고 지정한다. 그런 다음 포스트 작성 페이지를 구성하는 htm..
백준 24416 | DP | 알고리즘 수업 - 피보나치 수 1 [파이썬 python]
·
Algorithm/백준
24416번: 알고리즘 수업 - 피보나치 수 1 오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍 www.acmicpc.net 처음 시도한 코드 n = int(input()) f1, f2 = 0, 0 # 각 함수의 실행 횟수 def fib(n): global f1 if n == 1 or n == 2: f1 += 1 return 1 else: return fib(n-1) + fib(n-2) f = [0] * (n+1) # DP 테이블 초기화 def fibonacci(n): f[1] = 1 f[2] = 1 global f2 for i in range(3, n+1): f[i] =..
프로그래머스 | 기능개발 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 한 시간 동안 이 방법 저 방법을 해봐도 해결하지 못해서 '맨 앞 작업을 기준으로 판단하면 된다.'는 힌트를 보고 정답 코드를 작성할 수 있었다. 첫 번째 예시인 progress=[39, 30, 55], speeds=[1, 30,5] 일 때 과정을 설명하면 다음과 같다. 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있지만, 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포돼야 한다는 조건이 존재한다. 따라서 앞에 있는 기능부터 배포되어야 하므로, pro..
프로그래머스 | 2022 KAKAO BLIND RECRUITMENT | 주차 요금 계산 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from datetime import datetime import math def solution(fees, records): answer = {record.split()[1]:0 for record in records} # 차량번호:누적시간 car = {} # 차량번호:입차시간 for record in records: time, car_num, inout = record.split() if inout == 'IN': # IN이면 딕셔너리 car에 입차시간 기록 car[car_num] = datetime..
프로그래머스 | 2019 KAKAO BLIND RECRUITMENT | 오픈채팅방 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(record): answer = [] # 채팅방 기록 id_name = {} # 유저 아이디: 닉네임 for i in record: if 'Enter' in i: id_name[i.split()[1]] = i.split()[2] answer.append('+' + i.split()[1]) elif 'Change' in i: id_name[i.split()[1]] = i.split()[2] else: answer.append('-' + i.split()[1]) for i in ran..
Django | WRANINGS: null has no effect on manytomanyfield
·
Django
기존 POST 모델과 TAG 모델을 ManyToManyField를 사용해 다대다 관계로 연결하고자 했다. tags 필드를 빈칸으로 남겨둘 수 있도록 null=True, blank=True로 설정하고 마이그레이션을 진행했더니, 다음과 같은 경고메시지가 출력되었다. ManyToManyField는 기본적으로 null=True가 설정되어 있기 때문에 우리가 tags에 입력한 null=True는 효과가 없다는 의미이다. 따라서, tags에서 null=True를 지워주고 마이그레이션을 진행하면 경고메세지 없이 정상적으로 마이그레이션 된다.