개발일기 [Python 파이썬] 56

Class Based View

Class Based View 특징클래스형 뷰에서는 특정 Http Method에 대한 처리를 함수로 분리할 수 있습니다.→ GET요청에 대한 처리는 get()에서, POST 요청에 대한 처리는 post()에서 정의가 가능해요!클래스를 사용하기 때문에 코드의 재사용성과 유지보수성이 향상됩니다.기본 APIView외에도 여러 편의를 제공하는 다양한 내장 CBV가 존재합니다.Class Based View 종류APIView - DRF CBV의 베이스 클래스GenericAPIView일반적인 API 작성을 위한 기능이 포함된 클래스보통 CRUD 기능이 대부분인 상황을 위해 여러가지 기능이 미리 내장되어 있습니다.Mixin재사용 가능한 여러가지 기능을 담고있느 클래스말그대로 여러 클래스를 섞어서 사용하기 위한 클래스L..

[SQL 데이터에서 예상하지 못한 값이 나왔을 때 (이상한 값, 값이 없음 등) 5/5]

분명 있어야 하는데, 데이터가 없어요! 이럴 때 처리할 수 있는 방법이 있을까요? 보통 이럴때는 테이블에 잘못된 값이 들어있을 수 있습니다. [방법1] 없는 값을 제외해주기 Mysql 에서는 사용할 수 없는 값일 때 해당 값을 연산에서 제외해줍니다. → 0으로 간주 즉 평균 rating 을 구하는 쿼리를 아래와 같이 작성했을 때 실제 연산에 사용되는 데이터는 다음과 같습니다. select restaurant_name, avg(rating) average_of_rating, avg(if(rating'Not given', rating, null)) average_of_rating2 from food_orders group by 1 명확하게 연산을 지정해주기 위해 null 문법을 이용 select a.orde..

[SQL] Subquery 문 안을 수정해서, 음식 주문시간이 25분보다 초과한 시간을 가져오기 4/5

1. 문자변경과 조건문 👉 문자 변경 REPLACE : 지정한 문자를 다른 문자로 변경 SUBSTRING : 특정 문자만 추출 CONCAT : 여러 문자를 합하여 포맷팅 👉 조건문 IF : if(조건, 조건을 충족할 때, 조건을 충족하지 못할 때) CASE WHEN END : case when 조건1 then 값(수식)1 when 조건2 then 값(수식)2 else 값(수식)3 end 2. Subquery 문의 기본 구조 select column1, special_column from ( /* subquery */ select column1, column2 special_column from table1 ) a select column1, column2 from table1 where column1 =..

Django MTV 사용하기

📢 데이터베이스에서 모든 아티클을 조회해서 /articles/에서 볼 수 있도록 해봅시다! view에서 model에 접근해 모든 아티클 가져오기 view에서 가져온 아티클을 template으로 넘기기 from .models import Article ... def articles(request): articles = Article.objects.all() context = { "articles": articles, } return render(request, "articles.html", context) ... 3. template에서 넘어온 context 보여주기 {% extends "base.html" %} {% block content %} Articles {% for article in artic..

완전탐색기 코딩 (데이터 다 체크해서 원하는 최대값 찾기)

max_number =0 #a 안에 한줄씩 들어간다 a= input() 최대로 큰 점수 찾고 그어느 행, 열에 있는지 찾기 max_number = 0 row = 1 column = #1-9순회할거라 마지막에 10으로 해줌 그러면 [1,2,3,4,5,6,7,8,9] 들어올 것 for r in range(1,10): input_list = list(map(int, input(), split) #최대값이 어디 열에 있는지 알려줘 그 안을 탐색할거야 #1을 줘서 0부터 세지 않게 enumerate 1부터 카운팅 해라 처음부터 선언하는 것 for c, num in enumerate(input_list,1): if num > max_number: max_number = num row = r column = c pr..

장고 에러 발생시 해결 방안

에러난 코드 읽는 법 코딩을 하다 보면 이와 같은 문제들을 종종 발견한다. 이때 문제를 해결하기 위해 우리가 봐야 할 것은 error during template rendering- 즉 템플릿을 렌더링 하면서 생긴 문제입니다 라며 밑에 어디서 문제가 생겼는지 경로를 알려주는데 그 안에를 자세히 보면 templates 안에 있는 articles.html에서 문제가 생기고 있는 것을 알 수 있다. 친절하게 에러가 난 라인까지 알려주는데 위에 예시에서 보면 line 5에서 문제가 생기고 있음을 알 수 있다. 대부분의 문제는 따옴표''를 제대로 안 해주었거나, 콤마를 안 찍어 주었거나, 단어를 틀리게 써서 못 찾는 경우가 많으니 그런 점을 유의해서 보면 쉽게 문제를 파악해서 해결할 수 있다. 처음부터 app_n..

[알고리즘] 최빈값 구하기

최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. from collections import Counter collections 모듈에서 Counter 클래스를 가져옵니다. 이 클래스는 주어진 시퀀스의 각 요소의 개수를 세는 데 사용됩니다. def solution(array): counts = {} for num in array: counts[num] = counts.get(num, 0) + 1 max_count = max(counts.values()) most_common = [num for num, count in counts.i..

[파이썬 정리] 조건문 & 반복문

IF & ELSE 내가 5000원이 있는데, 만약 3000원 이상이면 택시를 탈게 아니면 택시를 못타 라는 두개의 조건문 money = 5000 if money > 3000: `print('take taxi')` else: `print('cannot take taxi')` IF & ELIF & ELSE 내가 5000원이 있는데, 만약 3000원 이상이면 택시를 탈게, 만약 12000원을 넘으면 난 버스를 탈거야. 그 둘다 아니면 걷겠어 money = 5000 if money > 3000: print('take taxi') elif money > 1200: print('take bus') else: print('lets walk') 이렇게 4명의 사람이 있는데, 만약 20살 이상의 사람을 찾는다고 가정해보..

[파이썬 정리] 리스트와 딕셔너리

a라는 리스트가 있다고 하자 그 안에는 숫자도 들어갈 수 있고 단어도 들어갈 수 있고 false true 등도 들어갈 수 있다. a_list = [1,2,3,4,5,6] print(a_list) a_list = [1,'배', False] print(a_list) 그리고 리스트 안에 리스트를 넣을 수도 있다. 한 묶음으로. 만약 이중 3번 방안에 있는 1번째것이 보고 싶다고 하면 리스트 안에 (a_list [3][1]) 숫자방 번호를 넣어준다. a_list = [1,'배', False, ['사과', '감']] print(a_list [3][1]) 만약 추가하고 싶다 하면 리스트 밑에. append(더하고 싶은 내용) 넣고 5번 방 출력하면 99가 나온다. a_list = [1,5,6,3,2] a_list...