[Django] 뷰(views)와 템플릿(templates)
·
Minding's Programming/Django
뷰(Views)뷰는 말 그대로 '보여주는' 역할을 한다. HTML 페이지 또는 모델 등에서 받아온 데이터를 사용자에게 노출시켜 준다. mysite 아래에 있는 urls.py에서 해당 URL에 요청이 오면, views.py에서 지정된 함수에 의해 해당 화면을 노출시킨다.# mysite/urls.pyfrom django.contrib import adminfrom django.urls import path, include# polls/ URL 뒤에는 polls 폴더 내 urls.py 설정을 따름urlpatterns = [ path('polls/', include('polls.urls')), path('admin/', admin.site.urls),]# mysite/polls/urls.pyfrom ..
[Django] 모델 메소드(Model Method)
·
Minding's Programming/Django
모델 메소드모델 메소드는 모델을 클래스로 선언할 때 아래에 작성하는 함수를 메소드로 사용하는 것을 말한다. 예를 들어, Question 모델(클래스)에 pub_date 기준 오늘 만들어진 레코드인지를 판단하는 메소드를 만들어본다고 해보자.from django.db import modelsfrom django.utils import timezonefrom datetime import timedeltaimport datetime# model 생성class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField(auto_now_add=True) # pub_date가 지..
[Django] 모델 필터링(Model Filtering)
·
Minding's Programming/Django
Django Shell에서 모델 필터링모델 필터링은 해당 모델에서 내가 사용하고 싶은 레코드만 필터링해 조회하는 것을 말한다. Django Shell에서는 어떤 방법으로 모델 필터링을 할 수 있을까?1. get() 메서드>>> from polls.models import *# id값으로 조회>>> Question.objects.get(id=1)# 텍스트 시작값으로 조회>>> Question.objects.get(question_text__startswith='야구')>>> q= Question.objects.get(question_text__startswith='야구')>>> q.pub_datedatetime.datetime(2024, 10, 7, 5, 17, 5, 82114, tzinfo=datetim..
[Django] Django Shell 사용해보기
·
Minding's Programming/Django
Django Shell?Django shell은 python shell 등과 비슷한 형태를 가지고 있지만, Django 환경을 다룰 수 있는 shell이다.❯ python manage.py shellPython 3.9.0 (default, Nov 15 2020, 14:28:56) [GCC 7.3.0] on linuxType "help", "copyright", "credits" or "license" for more information.(InteractiveConsole)>>>위와 같이 manage.py의 shell 함수를 실행시켰는데, 파이썬 shell과 거의 유사한 모습을 보여준다. Django Shell로 모델 활용하기1. 조회>>> from polls.models import *>>> Quest..
[Django] Django 기본 설정
·
Minding's Programming/Django
장고 설치pip install Django기본적으로 가상환경을 따로 만들고 라이브러리를 설치하는 것이 좋으니 참고! Django Projcet 생성하기django 프레임워크를 본격적으로 사용하기 위해서는 django project를 생성해주어야 한다. 터미널 창에 아래와 같은 코드를 입력해보자.django-admin startproject mysite코드 입력 후 mysite라는 폴더가 하나 생성된 것을 알 수 있다. 그 안에 진입하면 여러가지 파이썬 파일이 생성된 것을 알 수 있다. 이들은 django 명령어를 터미널에서 쓸 수 있도록 도와주는 파일들이다. 이 중 manage.py 파일을 이용해 설치가 잘 되었는지 확인해보자.# mysite 폴더로 이동cd mysitepython manage.py ru..
[Seaborn/WordCloud] Seaborn과 Wordcloud를 활용한 시각화
·
Minding's Programming/Knowledge
Seaborn이란?Seaborn은 데이터 시각화 라이브러리로, 파이썬의 matplotlib를 기반으로 더 간단하고 직관적인 방법으로 다양한 통계적 그래프를 생성할 수 있도록 돕는다. 데이터의 분포, 관계, 카테고리 간의 차이를 시각화하는 데 특히 유용하며, 높은 수준의 미적 디자인을 갖춘 차트를 쉽게 만들 수 있다. pandas 데이터프레임과 통합이 잘 되어 있기 때문에 데이터 분석 과정에서 매우 유용하게 쓰인다.장점간결한 코드: seaborn은 matplotlib에 비해 훨씬 간단한 코드로 복잡한 그래프를 그릴 수 있다.고급 시각화 기능: 히트맵, 페어플롯, 카테고리 플롯과 같은 고급 그래프를 지원한다.미적 디자인: seaborn의 기본 설정은 시각적으로 훨씬 더 깔끔하고 보기 좋다. 특히 데이터 시각..
[코딩테스트/Python] 프로그래머스 코딩테스트 - 문자열 압축
·
Minding's Programming/프로그래머스 코딩테스트
문제 설명 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 "aabbaccc"의 경우 "2a2ba3c"(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, "abcabcdede"와 같은 문자열은 전혀 압축되지 않습니다. "어피치"는 이러한 단점을 해결하기 위해 문자열을 1개 이상의 단위로 잘..
[코딩테스트/Python] 프로그래머스 코딩테스트 - 주사위 게임 3
·
Minding's Programming/프로그래머스 코딩테스트
문제 설명 1부터 6까지 숫자가 적힌 주사위가 네 개 있습니다. 네 주사위를 굴렸을 때 나온 숫자에 따라 다음과 같은 점수를 얻습니다. 네 주사위에서 나온 숫자가 모두 p로 같다면 1111 × p점을 얻습니다. 세 주사위에서 나온 숫자가 p로 같고 나머지 다른 주사위에서 나온 숫자가 q(p ≠ q)라면 (10 × p + q)2 점을 얻습니다. 주사위가 두 개씩 같은 값이 나오고, 나온 숫자를 각각 p, q(p ≠ q)라고 한다면 (p + q) × |p - q|점을 얻습니다. 어느 두 주사위에서 나온 숫자가 p로 같고 나머지 두 주사위에서 나온 숫자가 각각 p와 다른 q, r(q ≠ r)이라면 q × r점을 얻습니다. 네 주사위에 적힌 숫자가 모두 다르다면 나온 숫자 중 가장 작은 숫자 만큼의 점수를 얻습..