728x90 반응형 SMALL python106 [Django] 템플릿 시스템 (2) HTML 이스케이프 {{ value|safe }} 템플릿에 HTML 인쇄할 때는 HTML 이스케이프를 사용하여 해커가 악성 코드를 삽입하는 것을 방지해야 한다. HTML 이스케이프를 하려면 {{ value|safe }}를 사용한다. 템플릿 상속 {% extends "base.html" %} 템플릿 상속을 사용하여 다른 템플릿 기반으로 템플릿을 생성할 수 있다. 상속하려는 템플릿을 지정하려면 {% extends "base.html" %}를 사용한다. 템플릿 블록 {% block content %} Templates {% endblock %} 템플릿 블록을 사용하여 템플릿에서 재사용할 수 있는 코드를 생성할 수 있다. 블록을 생성하려면 {% block content %}, 블록을 끝내려면 {% endbloc.. 2023. 6. 26. [Django] 템플릿 시스템 (1) 템플릿 시스템 장고의 템플릿 시스템은 템플릿 문법으로 작성된 템플릿 코드를 해석하여 템플릿 파일로 결과물을 만들어 준다. 템플릿 변수 {{ name }} 템플릿 변수는 파이썬 변수의 값을 저장하는 데 사용할 수 있다. 템플릿 변수에 접근하려면 중괄호 {{}}로 묶는다. 예를 들어, {{ name }}은 name이라는 파이썬 변수의 값을 반환한다. 템플릿 필터 {{ name|lower }} 템플릿 필터는 템플릿 변수에 함수를 적용하는 데 사용할 수 있다. 템플릿 필터를 사용하려면 필터 이름을 슬래시 (/)로 구분하고 변수에 붙인다. 예를 들어, {{ name|lower }}는 name이라는 변수의 값을 소문자로 반환한다. 템플릿 태그 {% for athlete in athletes %} {{ athlete.. 2023. 6. 26. [BioPsyKit] 수면 분석 (관성 측정 장치) import from pathlib import Path import pandas as pd import numpy as np from fau_colors import cmaps import biopsykit as bp import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline %load_ext autoreload %autoreload 2 plt.close("all") palette = sns.color_palette("Set2") sns.set_theme(context="notebook", style="ticks", font="sans-serif", palette=palette) plt.rcParams["figure.figsize".. 2023. 6. 25. [Django] 템플릿 (Template) 템플릿 (Template) Django 템플릿은 Django 템플릿 언어를 사용하여 마크업된 텍스트 문서 또는 Python 문자열이다. 일부 구문은 템플릿 엔진에서 인식하고 해석한다. 주요 항목은 변수와 태그이다. 템플릿은 컨텍스트로 렌더링된다. 렌더링은 컨텍스트에서 조회되는 값으로 변수를 대체하고 태그를 실행한다. 나머지는 그대로 출력된다. 프로젝트 템플릿 디렉토리는 TEMPLATES 설정의 DIRS 항목에 지정된 디렉토리이다. 앱 템플릿 디렉토리는 각 어플리케이션 디렉토리마다 존재하는 templates/ 디렉토리를 말한다. 프로젝트 디렉토리에는 base.html 등 전체 프로젝트의 룩앤필에 관련된 파일들을 모아두고 각 앱에서 사용하는 템플릿 파일들은 앱 템플릿 디렉토리에 위치시킨다. 일반적인 경우 템.. 2023. 6. 22. [Django] 뷰 (View) 뷰 (View) views.py는 뷰 로직을 코딩하는 가장 중요한 파일이다. 장고에서 함수형과 클래스형 두가지 뷰로 구분한다. 장고가 제공하는 제네릭 뷰를 사용하고 재활용 및 확장성 측면에서 클래스형 뷰를 쓰는 것이 좋다. 투표 어플리케이션 만들기 import logging from django.http import HttpResponseRedirect from django.urls import reverse from django.shortcuts import render, get_object_or_404 from polls.models import Question, Choice # Create your views here. def index(request): latest_question_list = Q.. 2023. 6. 22. [Django] URL URL URL은 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약이다. 즉, 컴퓨터 네트워크와 검색 메커니즘에서의 위치를 지정하는, 웹 리소스에 대한 참조이다. 쉽게 말해서, 웹 페이지를 찾기위한 주소를 말한다. URLconf URLconf 용어는 URL과 뷰를 매핑해주는 urls.py 파일을 말한다. URLconf를 정의할 때 하나의 파일 또는 2개의 파일에 정의할 수도 있다. 보통 프로젝트는 전체 URL을 정의하는 프로젝트 URL과 앱마다 정의하는 앱 URL 2계층으로 나눠서 코딩하는 방향이 좋다. 이 방식은 URLconf 모듈을 계층적으로 구성하므로 변경도 쉽고 확장도 용이해진다. URL 패턴별로 이름을 지정할 수 있고 패턴 그룹에 대해 이름 공간을 지정할 수 있따. 이는 reverse() .. 2023. 6. 20. [Django] 모델 (Model) 모델 (Model) 모델은 사용될 데이터에 대한 정의를 담고 있는 장고의 클래스이다. 데이터베이스를 SQL없이 접근가능하며 데이터베이스 엔진 (MySQL, Oracle, ...)이 변경이 용이하다. 테이터베이스 처리는 ORM 기법을 사용한다. 즉, 테이블을 클래스로 매핑해서 테이블에 대한 CRUD (Create, Read, Update, Delete) 기능을 클래스 객체에 대해 수행하면, 장고가 내부적으로 SQL 처리하여 데이터베이스에 반영해주는 방식이다. ORM 기법 객체 관계 매핑은 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다. 객체 지향 언어에서 사용할 수 있는 "가상" 객체 데이터베이스를 구축하는 방법이다. 장고의 모델 클래스는 하나의 테이블에.. 2023. 6. 20. [Django] MVT 패턴 MVC MVC (Model-View-Controller)는 디자인 패턴 중의 하나로 프로젝트의 구성 요소를 Model (모델), View (뷰), Controller (컨트롤러) 역할로 구분한 개발 방법론이다. MVT Model-View-Template 패턴이라고 한다. 장고의 MVT 방식은 자바 웹 프로그래밍의 MVC 방식과 거의 동일한 개념으로 웹 프로그래밍 영역을 3가지 개념으로 나눠서 개발하는 방식이다. 테이블을 정의하는 모델 (Model), 어플리케이션의 제어 흐름 및 처리 로직을 정의하는 뷰 (View), 사용자가 보게 될 화면의 모습을 정의하는 템플릿 (Template)으로 구분해서 개발을 진행한다. MVT 패턴의 처리 과정 클라이언트로부터 요청을 받으면 URLconf를 이용하여 URL을 분.. 2023. 6. 20. [Python] 패키지 (Package) 패키지 (Package) 점으로 구분된 모듈 이름을 사용하여 구성된 파이썬 모듈 및 하위 패키지의 모음이다. 함수들이 뭉쳐진 하나의 .py 파일 안에 이루어진 것을 모듈이라고 한다. 여러 개의 모듈을 그룹화하면 패키지가 된다. 패키지는 종종 라이브러리라고도 불린다. 단순히 __init__.py 라는 특별한 파일이 포함된 디렉토리이다. __init__.py __init__.py 파일은 해당 디렉토리가 패키지의 일부임을 알려주는 역할을 한다. Python 3.3부터는 init파일이 없어도 패키지로 인식하지만 하위 버전 호환을 위해 생성하는 것이 안전하다. 패키지 관련 설정이나 초기화 코드를 포함할 수 있다. /App/__init__.py print("version: 1.0") # main.py import .. 2023. 6. 20. [Python] 디렉토리 (Directory) (2) 디렉토리 이름 변경 rename() 메서드를 사용하여 기존 디렉토리의 이름을 변경한다. os.rename('old_directory_name', 'new_directory_name') 디렉토리 제거 rmdir() 메서드를 사용하여 디렉토리를 제거한다. os.rmdir('directory_to_remove') 디렉토리 재귀적으로 제거 removedirs() 메서드를 사용하여 디렉토리와 그 내용을 재귀적으로 제거한다. os.removedirs('parent_directory/child_directory') 디렉토리 반복 walk() 메서드를 사용하여 디렉토리와 그 하위 디렉토리를 반복한다. 이 함수는 지정된 디렉토리에서 찾은 디렉토리 경로와 디렉토리 이름 및 파일 이름을 포함하는 이터레이터를 반환한다. fo.. 2023. 6. 20. 이전 1 2 3 4 5 6 7 8 ··· 11 다음 728x90 반응형 LIST