전체 글 357

Django 활용하기(4)

User 추가하기 # polls/models.py class Question(models.Model): question_text = models.CharField(max_length=200, verbose_name='질문') pub_date = models.DateTimeField(auto_now_add=True, verbose_name='생성일') # admin이 아닌 일반 user 추가 owner = models.ForeignKey('auth.User', related_name='questions', on_delete=models.CASCADE, null=True) @admin.display(boolean=True, description='최근생성(하루기준)') def was_published_rec..

Django 활용하기(3)

Serialize (직렬화) 모델 인스턴스나 QuerySet과 같은 데이터를 JSON 형식의 파일로 변환하는 작업 프로젝트에서 만든 모델로부터 뽑은 queryset, 즉 모델 인스턴스를 JSON으로 변환 Deserialize JSON 형식의 데이터를 정의된 포맷에 맞추어 다시 모델 인스턴스로 변환하는 작업 serialize 만들기 serialize는 생성 시 유효성 검사를 통과한 data를 기반으로 저장(validated_data) # polls_api/serializers.py from rest_framework import serializers # Question 모델 불러오기 from polls.models import Question class QuestionSerializer(serializer..

Django 활용하기(2)

뷰 (views) 와 템플릿 (templates) order_by() 쿼리셋을 정렬하기 위한 메서드로 특정한 필드를 기준으로 오름차순 or 내림차순의 형태로 정렬가능 order_by() 뒤에 슬라이싱 [:]을 통해 범위 지정 가능 render() HTTP 요청을 받아 원하는 템플릿 파일을 렌더링하여 응답 인자로써는 request, 템플릿 파일 경로, Context 순으로 변수를 받음 # polls/views.py def index(request): # Question 목록에서 order_by를 통해 5개의 목록을 가지고 옴 latest_question_list = Question.objects.order_by('-pub_date')[:5] context = {'first_question': latest_..

Django 활용하기(1)

Django 쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어진 웹 프레임워크 Django 가상환경 설정 서로 다른 유형과 목적의 프로젝트를 한 공간에 넣어 관리하면, 매번 하나의 프로젝트를 실행할 때마다 환경을 체크고 변경해주어야 함 심한 경우네는 프로젝트 간의 충돌이 발생할 수도 있음 이와 같은 문제 방지를 위해 Python 프로젝트를 가상환경에 만들어 사용 명령어 (cmd 사용) # 가상환경 생성 py -m venv project_name # 생성한 가상환경 활성화 project_name\scripts\activate.bat Django 설치 # Django 설치하기 py -m pip install Django Project 생성 # mysite 라는 프로젝트 생성 django-adm..

Seaborn - 스크래핑 결과 시각화

Seaborn 수집한 뎅터를 시각화하는 라이브러리 # 터미널 코드로 실행하기 %pip install seaborn 라이브러리 import import seaborb as sns 꺾은선 그래프 (Line Plot) # 꺾은선 그래프 예제 sns.lineplot(x=[1, 3, 2, 4], y=[4, 3, 2, 1]) 막대 그래프 (Bar Plot) # 막대 그래프 예제 sns.barplot(x=[1, 3, 2, 4], y=[4, 3, 2, 1]) 그래프에 제목 추가하기 # matplorlib.pyplot 추가 import marplotlib.pyplot as plt sns.barplot(x = [1, 2, 3, 4], y = [0.7, 0.2, 0.1, 0.05]) plt.title("Bar Plot") ..

728x90