Python 112

[Django] Django .html .css 분리 방법 (by. Django Template)

👉 1. CSS 분리 1) settings.py 에 아래 문구 추가 STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),) 2) css 파일 작성 : css/init_page.css 파일을 작성하였다. .init_wrapper{ width:100%; display:flex; } .init_container{ text-align:center; } 3) init.html 에 아래 문구 추가 {% load static %} 👉 2. HTML 분리 (include 문법) 1) HTML 파일 작성 : join.html, login.html, message.html 2) 원하는 곳에 include 문법 작성 {% include 'users/message.html' %}

Python/Django 2022.06.03

[Django] Admin으로 Table 관리하기

1. Project 및 APP 생성 $ django-admin startproject custom_admin $ cd custom_admin $ django-admin startapp app1 2. custom_admin / Settings.py APP 추가 INSTALLED_APPS = [ ... 'users', ] 3. app1 models.py 작성 - Django에서 미리 만들어놓은 User Table(AbstractUser)을 상속 받아 사용. - etc_text 라는 필드 추가 생성 from django.db import models from django.contrib.auth.models import AbstractUser # Create your models here. class UserM..

Python/Django 2022.06.01

[Django] 무식한 라이브러리 분해 3 (contrib)

Django.contrib Django.contrib 사용자에게 필요한 다양한 추가 옵션 도구 목적의 패키지이다. 관리자 인터페이스, 인증, 지리, 세션 등의 다양한 기능을 제공 링크 : https://docs.djangoproject.com/ko/4.0/ref/contrib/ contrib packages | Django 문서 | Django Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate docs.djangoproject.com Django. contrib contrib/ - django.contrib.admin..

Python/Django 2022.05.31

[Django] 무식한 라이브러리 분해 2 (urls, shorcuts, http)

Django.url Django는 외부에서 들어오는 요청에 대해 WSGI, ASGI 등의 Middleware를 거쳐 urls에 요청이 도착하게 된다. Django.url url/ - resolver.py : 해당 path가 url pattern인지, router pattern 인지 등 확인 - conf.py : path(내부 view path) 함수, include(내부 app path) 함수 Django.shortcut, Django.http Django는 Request에 대해 사용자에게 render(), redirect(), httpresponse() 등으로 Response 대응 한다. Django.shortcut shortcuts.py - def render() : 일반적으로 page(.html) ..

Python/Django 2022.05.31

[Django] Django 명령어 설명

django-admin django-admin은 Django 관리 작업을 위한 command 유틸리티이다. django-admin은 시스템 변수에 등록 됨 manage.py manage.py는 프로젝트 만들 때 사용하는 Django command 유틸리티 서버 작동시 DJANGO_SETTING_MODULE 이라는 Key 값에 해당 프로젝트의 settings 파일이 등록 된다. def main(): """Run administrative tasks.""" os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_ex1.settings') 명령어 기본 $ django-admin [options] $ manage.py [options] $ django-admin he..

Python/Django 2022.05.30

[Django] 무식한 라이브러리 분해 1 (django.db)

Django.db 일반적으로 Django는 ORM(Object-Relational Mapping)은 app의 models.py에 Class를 정의하고 해당 ORM 객체를 만들고 DB와 연동한다. 해당 과정에서 Django.db 의 모듈이 주로 사용되는데 관련 라이브러리의 소스코드를 분해해 보았다. Django.db Django.DB 전체 파일 - backends/ - migrations/ - models/ - utils/ Django. db.backends Django에서 지원하는 DB들에 대한 Connector, Adapter 역할 - 실제 DB에 CRUD 해주는 역할 - Django Table을 해당 DB Table로 바꾸어 주는 역할 - 해당 모듈을 사용하려면 추가 라이브러리 설치가 필요 - mys..

Python/Django 2022.05.30

[Django] 프로젝트 구조 분석

Django 1개의 프로젝트에 1개의 APP의 형태의 프로젝트 구조이다. 모듈(.py) 별 기능 settings.py : django 프로젝트 config 설정 파일. DB, App (Module), Auth, Templates, Path 등 기본 설정 담당 urls.py : url 별 페이지 연동 관리 파일 (유사 route를 담당하는 파일) asgi.py, wsgi.py - Web Server Gateway Interface로 서버와 응용 프로그램이 통신하는 인터페이스. - 클라이언트로 요청 수신 → 애플리케이션으로 전달 , 애플리케이션 응답 → 클라이언트로 보내는 역할 수행 admin.py : 관리자 role로 model 을 관리하는 역할 apps.py : 앱에 대한 기본 설정 models.py :..

Python/Django 2022.05.30

[Flask] Pagination 구현

DB 에서 값을 가져와 Ranking을 출력 해본다. GET 방식으로 URL에 page_num=1을 붙여서 보내주는 것이 핵심. ranking.html {% set page_count = (ranking_list|length)//page_unit %} {% set start = page_count*(page_num-1) %} {% set result_list = ranking_list[start : start+4] %} namescoredate {% for result in result_list %} {{result['name']}}{{result['score']}}{{result['date']}} {% endfor %} {% for i in range(1, (page_count)+2)%} {{i}} {..

Python/Flask 2022.05.29

[Django] MTV 패턴과 동작 Flow

Django https://www.djangoproject.com/ The web framework for perfectionists with deadlines | Django Django Django makes it easier to build better web apps more quickly and with less code. Get started with Django www.djangoproject.com MTV 패턴 일반 Backend Framework 들은 MVC(Model-View-Controller) 디자인 패턴을 가짐. 장고 MTV(Model-Template-View) 디자인 패턴 M (Model) - DB의 ORM 모델 (1 Table = 1 Class) - 데이터에 대한 접근, 검증,..

Python/Django 2022.05.27

[Django] Admin 기능 (ORM 컨트롤)

Django의 Admin 기능에 대해 알아보자. Django의 관리자(Admin) 기능으로 ORM 객체를 조회하고 컨트롤(수정) 할 수 있다. 1. 관리자 계정 생성 python manage.py createsuperuser 2. 페이지 접속 http://127.0.0.1:8000/admin 들어가면 관리자 페이지가 나온다. 3. 로그인 후 Admin 페이지 Group과 User가 있으며, 개인이 만든 User Table (models.py)를 등록하면 됨. 4. APP의 'models.py', 'admin.py' 작성 user app의 models.py, admin.py 를 아래와 같이 작성하였다. #user/models.py from django.db import models class UserMod..

Python/Django 2022.05.26