전체보기 98

가출에서 찾은 낭만, <날씨의 아이>

가끔 혼자 아무 계획도 없이 떠나버리고 싶을 때가 있다. 물론 한번도 실천해본적은 없지만, 이 영화의 주인공은 나보다 더 멋있게 실천에 옮겨서 결국 낭만을 찾았다. 나도 누구에게 모든 현실과 미래를 내팽겨칠만큼 중요한 사람이 되고싶다. 개연성은 조금 부족해도 확실히 입가에 미소가 띄어지는 영화인것 같다. 영화 색감이 너무 이쁜데, 넷플릭스에서 4K를 지원하지 않는게 미울만큼 FHD로 보기 아까운 배경이었다. 중간에 어디서 많이 본 조연들이 있어서 나중에 알고보니 에 나오는 주인공들이었다. ㅋㅋ 이런 감성적인 일본 애니메이션들을 보면 마음이 이쁜 노을빛으로 번지는거같아서 좋다. 언젠가는 나도 가출을 감행해서 낭만을 찾으리.. 근데 이 나이먹고 집 나가면 그냥 독립 아닌가.. 슬프다

나의 일상 2023.10.17

Django CBV - 제네릭 뷰 (Generic View)

제네릭 뷰 : Django에서 제공하는 CBV(Class-Based View)로, 자주 쓰는 View가 미리 만들어져있다. 상속받아서 사용 공식 문서 : https://docs.djangoproject.com/en/4.2/ref/class-based-views/ Django The web framework for perfectionists with deadlines. docs.djangoproject.com Base views 뷰 클래스를 생성하고, 다른 제네릭 뷰의 부모 클래스가 되는 기본 제네릭 뷰 - View : 최상위 제네릭 뷰, 기본 뷰, Django view를 만드는데 필요한 기능 제공 - TemplateView : 템플릿이 주어지면 렌더링을 해주는 뷰 - RedirectView : URL이 ..

Django 2023.10.16

Django 실습(7) 클래스 기반 뷰 (Class-Based Views) 이용하기

그 전까지는 함수 기반 뷰를 이용해서 views.py를 만들었지만, 이제는 클래스 기반 뷰를 통해서 좀 더 쉽게 만들어보자. generic 클래스에 대한 실습 이제는 각 프로젝트마다 venv를 만들지않고 하나의 가상환경을 계속해서 쓰자. pip freeze > requirements.txt 를 이용해서 버전관리를 할 수 있다. 설치할때는 pip install -r requirements.txt 사용 그리고 .gitignore파일을 만들고 venv를 입력해서 가상환경은 무시하도록 한다. startproject를 하고, startapp으로 blog를 만들어서 클래스 기반 뷰를 사용해보자. tutorialdjango / urls.py from django.contrib import admin from djan..

Django 2023.10.16

Django 실습(6) Login 기능 구현하기

Django에서는 startproject를 했을 때 자동으로 추가되는 django.contrib.auth 앱을 이용하면 간단하게 구현할 수 있다. 실습 Django 프로젝트를 만들고 accounts 앱 추가, settings.py에 app추가, urls.py에 "accounts/" url 추가 accounts / urls.py 추가 from django.urls import path from . import views app_name = "accounts" urlpatterns = [ path('signup/', views.signup, name='signup'), path('login/', views.login, name='login'), path('logout/', views.logout, name=..

Django 2023.10.13

Django 실습(5) Form과 ModelForm 사용한 블로그

지난번엔 html파일에서 태그를 하나씩 직접 달아서 post로 보내는 방식으로 게시물을 생성했지만, 이번에는 장고에서 제공하는 Form과 ModelForm을 이용해서 좀 더 간단하고 효율적으로 처리할 수 있다. 역할 : Form 클래스의 데이터를 읽어서 HTML 입력폼을 알아서 만들어주고 유효성 검증 및 값 반환이 쉽다. Form과 ModelForm의 차이 : Form은 직접 필드를 정의하고 위젯 설정이 필요하지만, ModelForm은 지정된 Model로 부터 필드 정보를 읽고 자동으로 필드를 설정한다. 실습 지난번에 한 실습에서 파일들을 좀 수정하면서 진행 blog / models.py 수정 from django.db import models class Post(models.Model): title =..

Django 2023.10.12

Django ORM을 이용해서 DB CRUD 해보기

공식문서 : https://docs.djangoproject.com/en/4.2/ref/models/querysets/#django.db.models.query.QuerySet Django The web framework for perfectionists with deadlines. docs.djangoproject.com Django ORM : 우리가 만든 모델 클래스와 DB에 생성된 테이블을 자동으로 연관지어 주는 기술. python 문법을 통해서 DB를 조작할 수 있다. 실습(4)에서 만들어둔 모델과 DB를 이용해서 ORM 사용해보기. python manage.py shell blog / models.py 에서 Post 클래스 import 하기 >>> from blog.models import Po..

Django 2023.10.11

Django 실습(4) Model과 DB를 이용한 게시물 관리와 업로드

간단하게 startapp blog 만 하고 이미지를 업로드한 게시물들의 목록과 검색 기능을 구현한 index와 게시물의 상세 정보를 볼 수 있는 post와 게시글을 작성하고 파일을 업로드 하는 write를 구현해보자. 실습 여태 했던 실습 내용을 참고하여 여기까지 만들어서 runserver 했을 때 http://127.0.0.1:8000/blog, http://127.0.0.1:8000/blog/write, http://127.0.0.1:8000/blog/1 이 다 잘 실행되는지 확인. blog / models.py 에 DB 설계하기 아래 사이트를 참고 https://docs.djangoproject.com/en/4.2/ref/models/fields/ Django The web framework for..

Django 2023.10.11

Django 실습(3) Bootstrap 사용해서 블로그 만들고 꾸미기

Bootstrap : 웹페이지의 디자인을 손쉽게 만들 수 있게 도와주는 프레임워크 비슷한걸로 Talewind가 있다. 사용법 : 웹사이트 확인 https://getbootstrap.kr/ Bootstrap 강력하고 확장 가능하며 기능이 풍부한 프론트엔드 툴킷. Sass로 빌드 및 커스터마이징하고, 사전 빌드된 그리드 시스템 및 구성 요소를 활용하고, 강력한 JavaScript 플러그인으로 프로젝트에 생기 getbootstrap.kr CDN 방식이 설치 안해도 돼서 편한듯? Django에서 CSS를 사용하기 위해서는 static기능을 이용해서 css경로를 줘야한다. {% load static %} {% static 'STATIC_URL 이후의 경로' %} 부트스트랩 무료 템플릿을 다운받아서 지난번에 해본 ..

Django 2023.10.10

Django 실습(2) Templates 분리와 상속으로 블로그 만들기

templates안에 html파일들을 더 효율적으로 관리하기 위해서 각각 app안에 templates폴더를 만드는것이 아닌, BASE_DIR 에 templates폴더를 따로 만들어서 관리할 수 있다. 만약 mysite라는 프로젝트에 main이라는 앱과 blog라는 앱이 있다면, mysite / main / templates 와 mysite / blog / templates 가 아닌, mysite / templates / main , mysite / templates / blog 폴더를 만들어서 한곳에 관리를 한다. BASE_DIR : 프로젝트 최상위 폴더 ex) mysite 템플릿 태그 {{ 변수명 }} {% 템플릿 문법 %} 템플릿 상속 : 홈페이지를 조각내어 각각의 html로 관리하는 기법 부모 ht..

Django 2023.10.10

FastAPI 맛보기

FastAPI : 빠르고 단순하고 가벼운 파이썬 프레임워크 실습 라이브러리 설치 pip install fastapi pip install uvicorn pip install jinja2 main.py 생성 # main.py from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} # "/" 주소는 이 딕셔너리를 보여준다 @app.get("/items/{item_id}") def read_item(item_id, q): # item_id와 주소뒤에 ?q="예시" 에서 예시를 q로 받는다. return {"item_id": item_id, "q": q} # "/items/{item_id..

FastAPI 2023.10.09