Python

DataBase 설정 방법 뷰(views.py) 에서 데이터베이스에 연결하고 하드 코딩하는 방법은 "현명하지 않은" 방법이다.쿼리가 하드 코딩되어 있으면, 만약 MySQL에서SQLite로 변경된 경우 대부분의 코드를 다시 작성해야 하기 때문이다.장고 데이터베이스 계층은 이러한 문제를 해결해 준다.장고의 데이터베이스 모델을 사용하려면 장고 앱(app)을 만들어야 한다. # settings.py # Database # https://docs.djangoproject.com/en/1.11/ref/settings/#databases # Example 1) Default 옵션 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os..
템플릿 로딩 API 1. BACKEND : 템플릿 엔진 클래스 -내장 템플릿 - django templates : django.template.backends.django.DjangoTemplates - jinja2 templates : django.template.backends.jinja2.Jinja2 2. DIRS : 템플릿 소스 디렉토리 리스트 ( 리스트 순서대로 검색한다. ) 'DIRS' : [ os.path.join(BASE_DIR, 'templates') # 프로젝트 루트에 마스터 템플릿 폴더 ] 1)템플릿 폴더 명을 굳이 templates로 명명하지 않아도 된다. 2)윈도우의 경우 경로를 백슬래시 대신 슬래시를 사용한다. 'DIRS' : [ 'C:/Users/templates', ] 3. ..
For 1.일반 For문 1. 일반 For 문 {% for key in list %} {{ key }} {% endfor %} 2.For문 반전 ( Dictionary 불가능 ) 2. 반전된 For 문 {% for key in list reversed %} {{ key }} {% endfor %} 3.이중 리스트 반복 3. 이중 리스트 반복 {% for key, val in matrix %} Key : {{ key }}, Val : {{ val }} {% endfor %} 4.딕셔너리 반복 4. 딕셔너리 반복 {% for key, val in dict.items %} Key : {{ key }}, Val : {{ val }} {% endfor %} 5. 리스트 비어 있는 경우 예외 처리 5. 리스트 비어..
Virtualenv "가상환경" 이란? 모든 종속성과 환경변수들을 다른 소프트웨어와 구분된 파일 시스템으로 묶어둔 환경 ... ※ Python 이 설치되어 있다는 가정 하에 설치를 진행합니다. ... 1. pip 으로 간단하게 설치 $ pip install virtualenv 2. 가상 환경 생성 $ virtualenv [가상환경이름] ex) adjangotestv1이라는 이름을 갖는 가상환경 생성 3. 가상 환경 실행 $ [가상환경이름]\Scripts\activate ex) djangotestv1이라는 이름을 갖는 가상환경 실행 가상환경이 실행되면 앞에 (가상환경이름) 이 붙는다. 4. 가상 환경 종료 $ [가상환경이름]\Scripts\deactivate (수정 : 2019.06.19)한 PC에 Pyt..
DjangoJSONEncoder Django에서 json.dumps 시 TypeError 에러 발생할 경우 해결 방법 ex) Mysql 데이터 Select 후 datetime.date Type으로 인한 에러 발생. TypeError: datetime.date(2019, 1, 3) is not JSON serializable DjangoJSONEncoder를 사용하면 해결된다. 1) DjangoJSONEncoder 모듈 추가 2) json.dumps안에 cls=DjangoJSONEncoder를 추가해 주면 된다. from django.core.serializers.json import DjangoJSONEncoder json.dumps([dict], cls=DjangoJSONEncoder) # # Exam..
pip 으로 패키지 설치하는데 아래와 같이 UnicodeDecodeError: 'ascii' codec can't decode byte 0xb9 in position 7: ordinal not in range(128)오류나는 경우 아래 두 파일의 인코딩 방식을 수정해 주면 된다. 1. Python 설치된 경로의 lib/site.py 파일에서 479490라인의 ascii를 utf-8로 변경 2. Python 설치된 경로의 lib/ntpath.py 파일에서 87라인의 result_path = result_path + p_path를 result_path = result_path + p_path.encode('utf-8')로 변경 참고한 곳: http://blog.lyuwonkyung.com/windows-pi..
S0PH1A
'Python' 카테고리의 글 목록 (8 Page)