QuerySet? 쿼리 셋은 데이터베이스로부터 전달받은 객체의 목록(list)이다. 또한, 쿼리셋은 lazy 하기 때문에 생성 작업을 할 때에는 데이터 베이스에서 데이터를 가져오지 않는다고 한다. >>> q = Entry.objects.filter(headline__startswith="What") >>> q = q.filter(pub_date__lte=datetime.date.today()) >>> q = q.exclude(body_text__icontains="food") >>> print(q) # 장고의 쿼리셋은 위 pritn문에서 데이터베이스에 들어가 데이터를 가져온다. # 이전 작업에서는 데이터베이스에서 정보를 가져오지 않는다. ★ queryset을 살펴보기 전에 데이터 베이스를 살펴보자 데이터..
장고는 manytomanyfield를 제공하기 때문에 사용자가 매핑 테이블(중간 테이블)을 직접 만들지 않아도 되지만 직접 만들어보았다. 필드 사용과 미사용 시 비교됬던 부분 직접 매핑 테이블을 구현했을 때 - 사용자가 직접 중간 테이블에서 서로의 id값을 넣어줘야 한다. (데이터가 많으면 관리가 어려울 것 같다) - many to many field를 사용하지 않았기 때문에 매핑테이블로 직접 들어가서 정보를 가져와야한다. 장고에서 제공하는 many to many field를 사용했을 때 - 사용자가 중간 테이블을 이용하고 싶다면 through 옵션을 통해 직접 중간 테이블을 지정할 수 있다. - 필드를 정의했기 때문에 참조 시 매핑 테이블을 들어가지않고 필드로 정의한 변수(?)를 통해 간접적으로 정보를..
장고 튜토리얼 models.py 에서는 함수(def)로 정의했으나 클래스(class)로 정의해보았다. # 데이터 베이스 테이블이 될 class를 작성 (첫글자 대문자) class Category(models.Model): # Category 테이블의 column이 되는 부분('name')과 row 값(models.~~~)이 들어가는 부분이다 # 값은 python3 shell 에서 직접 넣어준다 name = models.CharField(max_length = 50) menu = models.ForeignKey('Menu', on_delete = models.CASCADE) # 데이터 테이블의 이름이 되는 코드 복수형으로 작성 class Meta: db_table = 'categorise' # mysql..
튜토리얼3 에서는 앞서 만든 튜표 어플리케이션(polls)의 공개 인터페이스인 뷰(view)를 다음과같이 4개를 만들어 보자. 질문 “색인” 페이지 – 최근의 질문들을 표시합니다. (index) 질문 “세부” 페이지 – 질문 내용과, 투표할 수 있는 서식을 표시합니다. (detail) 질문 “결과” 페이지 – 특정 질문에 대한 결과를 표시합니다 (resulrts) 투표 기능 – 특정 질문에 대해 특정 선택을 할 수 있는 투표 기능을 제공합니다. (vote) 뷰(view) 추가하기 튜토리얼에 나와있는 대로 polls/views.py 에 4개의 뷰(view)를 보이기 위한 코드를 추가한다. (편하게 말하자면 클라이언트가 보는 웹페이지 화면) # 최근 질문들을 표시하는 '색인' 페이지 def index(req..
튜토리얼 2에서는 튜토리얼 1에서 만든 mysite 프로젝트에 데이터베이스를 설치하고 첫 모델을 생성한 후, Django에서 자동 생성되는 관리자 사이트에 대해 짧게 소개한다고 되어있다. 데이터베이스 설치 데이터베이스 변경 기본적으로 장고는 SQLite을 사용하도록 되어있다고 한다. 이 SQLite는 Python에서 기본으로 제공되기 때문에 별도로 설치할 필요가 없지만 실제 프로젝트를 시작할 때에는, 좀 더 확장성 있는 데이터베이스를 사용하는 것이 좋다. 데이터베이스 변경은 mysite프로젝트 내 settings.py 파일에서 설정할수 있다. 이 파일은 데이터베이스 등 장고 설정을 모듈 변수로 표현한 모듈(파일)이다. DATABASES 의 default 항목을 살펴보면 딕셔너리로 ENGINE 과 N..
파이썬 프로젝트 시 가상 환경을 사용하는 이유는 여러 프로젝트를 하는 데 있어, 분리된 버전 및 패키지 설치 환경을 가질 수 있기 때문에 프로젝트 실행 시 가상 환경을 켜줘야 한다고 한다. 여러 가상 환경 프로그램 중 미니 콘다(miniconda)를 사용하여 장고(django) 튜토리얼을 따라 해 봤다. 가상 환경 생성 가상 환경을 생성하는 명령어로 가상 환경을 생성해준다. 가상 환경 생성 명령어 python 버전이 중요! $ conda create -n 가상환경이름 python=3.8 실제 실행 과정 ) yujeong@xo-MacBook-Air ~ % conda create -n django_tutorial python=3.8 Collecting package metadata (current_repod..
파이썬은 객체 지향 프로그래밍 언어(Object Oriented Programming Language)이며, 객체 지향 프로그래밍 언어는 객체를 우선으로 생각해서 프로그래밍한다는 의미다. 즉, 클래스를 기반으로 객체를 만들고 이 객체를 우선으로 생각하여 프로그래밍하는 것을 지향한다는 것 class 클래스 이름은 '카멜 케이스' 명명법에 따라, 첫 글자를 대문자로 작성하는데, 내부 매서드와 변수와 구분을 위해 첫 글자를 대문자로 작성하는 것이 규칙이라고 한다. - class 선언 내 _ _init_ _ 함수를 만들면 객체를 생성할 때 처리할 내용을 작성할 수 있다. (언더 바가 잘 보이도록 띄어쓰기를 했으나 실제로 코드 작성 시 붙여서 작성한다) - 클래스 변수를 정의 해 두면 모든 인스턴스들에서 동일한 ..
자료형 자료형(data type)이란 자료의 형식을 말한다. 자료형에는 문자형(string), 숫자형(integer, float, complex numbers), 불리언 형(boolean)이 있다. *자료형식을 확인할 땐 type()함수를 사용하면 괄호안에 들어있는 자료형의 타입을 확인할 수 있다. 숫자형 자료 숫자형 자료형에는 대표적으로 정수형과 실수형이 있다. 정수형 Integer # 정수형 (integer) 1004 0 -10 실수형 Float # 실수형 자료형 (Float) 3.14 1.23 숫자열 연산자 숫자형 자료형에 사용가능한 연산자이다. # + 더하기 연산자 >>> 2 + 2 4 # - 빼기 연산자 >>> 50 - 5 45 # * 곱하기 연산자 >>> 5*6 30 # / 나누기 연산자 >>..
파이썬에서 함수를 정의할 때 def 키워드로 정의하며 함수 이름 뒤 괄호 안에 parameter(매개변수)를 지정하면 된다. 이 parameter는 원하는 만큼 추가할 수 있으며 쉼표(,)로 구분한다. 기본적으로 함수는 호출 시 기입한 인수의 개수와 parameter의 개수가 다르면 오류가 발생한다. * 매개변수는 함수 정의에서 괄호 안에 나열된 변수 * 인수는 호출될 때 함수에 전송되는 값 def function(parameter): # 내부 코드는 들여쓰기를 해야한다. print("함수 선언") # 함수 호출 시 함수명과 괄호를 사용한다 function(인수) 함수의 괄호 안에 싸인 parameter(매개 변수)는 일반 매개변수, *가변매개변수(*args), 기본 매개변수, **키워드 매개변수(**k..
- Total
- Today
- Yesterday
- 면접을 위한 CS 전공 지식 노트
- Spring
- authenticate()
- django.contrib.auth
- musma
- git공부
- 배열
- 회원가입
- 웹페이지
- 커맨드 객체
- django-environ
- 암호화
- Python
- 톰캣
- error: failed to push some refs to 'https://github.com/
- Java
- 환경 변수 설정
- 디자인 패턴
- django
- Django tutorial
- git 공부
- 한글 형태소 분석기
- 검색 결과 내 페이지네이션
- git
- python3
- 혼자 공부하는 파이썬
- 회원 로그인
- API
- path variable
- Magazine K
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |