개발로 자기계발
728x90
SMALL
article thumbnail
FastAPI 프로젝트 진행(Navbar, Table 프론트 구현) - 78
Develop/FastAPI 2023. 1. 25. 18:36

Navbar 만들기, todo 리스트 만들기 ※ 304 Not Modified 에러 시 이미지, 파일 등이 캐싱되어 있기에 추가적으로 캐시를 진행하지 않는다. 해결방법은? 로컬 캐시를 지워준다. 크롬 브라우저 사용 시 설정 >> 개인 정보 보호 및 보안 >> 인터넷 사용 기록 삭제 >> 캐시 된 이미지 및 파일 삭제 위 방법으로 해결이 안 된다면? 크롬 브라우저 시크릿 모드로 해보자 1. Navbar 생성 Todo App Home 2. todo 리스트 만들기 Your Todos! List of your Todos! Information regarding stuff that needs to be complete Actions Info # 1 Take out the trash Complete Delete 2..

Jinja Templating 개요 - 77
Develop/FastAPI 2023. 1. 25. 16:28

1. Jinja란? 빠르고 표현력이 풍부하며 확장 가능한 템플릿 언어 Dom에서 Pythn과 유사하게 코드를 작성할 수 있다. 템플릿은 최종 문서 내에서 렌더링할 데이터를 전달한다. 모든 텍스트 기반 형식(HTML, XML, CSV, LaTeX 등)을 생성 가능. 2. Jinja 표현식 {% ... %} if, for문 등에 대한 표현식 {{ ... }} 템플릿 출력으로 인쇄할 표현식 {# ... #} 템플릿 출력에 포함되지 않는 표현식 3. Jinja Tag & Scripts 장점 Jinja 태그는 HTML과 유사한 태그를 사용하여 백엔드 데이터를 사용하면서 개발자에게 도움을 준다. 전체 목록을 프론트 엔드로 전달하고 템플릿에서 간단한 for문으로 각각 데이터를 받을 수 있다. ex) python 파일..

article thumbnail
FastAPI 프로젝트 진행(bootstrap, js 파일 추가) - 76
Develop/FastAPI 2023. 1. 25. 15:56

프로젝트 디렉터리 구조 fastapi todoapp main.py database.py models.py todos.db templates static routers todo css js home.html base.css bootstrap.css bootstrap.js jquery-slim.js popper.js auth.py todos.py bootstrap 파일 추가, javascript 파일 추가 1. base.css 수정 body { background: #fafafa; color: #33333a; padding-top: 70px; } h1, h2, h3, h4, h5, h6 { color: #323232; } .main-color { background-color: #0e76a8 ; } .str..

article thumbnail
FastAPI 프로젝트 진행(CSS 및 static 폴더 구성) - 75
Develop/FastAPI 2023. 1. 25. 15:31

프로젝트 디렉터리 구조 fastapi todoapp main.py database.py models.py todos.db templates static routers todo css js home.html base.css auth.py todos.py 템플릿에 CSS를 추가, static 폴더 구성 static 폴더 js, css, image, font 등과 같이 개발자가 사전에 미리 서버에 저장해둔 파일들 모음집 내용이 고정되어 응답을 할 때 별도의 처리 없이 파일 내용을 그대로 보내주면 되는 정적인 파일 모음집 1. todoapp 디렉터리 하위에 static 디렉터리 생성 2. static 디렉터리 하위에 css, js 디렉터리 생성 3. css 디렉터리 하위에 base.css 생성 h1 { colo..

article thumbnail
FastAPI 프로젝트 진행(시작, HTML 렌더링) - 74
Develop/FastAPI 2023. 1. 25. 14:47

프로젝트 디렉터리 구조 fastapi todoapp main.py database.py models.py todos.db templates routers home.html auth.py todos.py 템플릿 디렉터리 가져오기, HTML 파일 렌더링 1. todoapp 디렉터리 하위에 templates 디렉터리 생성 2. templates 디렉터리 하위에 home.html 생성 Welcome to this FastAPI course! 3. 라이브러리 설치 aiofiles File Input/Output를 비동기로 할 수 있는 라이브러리 jinja2 python에서 가장 많이 사용되는 템플릿 엔진 ※템플릿 엔진 - 파이썬 문법(조건, 반복문, 변수)을 간략한 표현으로 데이터를 가공하여 웹페이지에 보임 - ..

article thumbnail
FastAPI Alembic 추가 실습하기 - 73
Develop/FastAPI 2023. 1. 24. 15:08

사용자를 등록할 때 전화번호를 필수 열로 만든다. apt_num의 열을 생성한다. model에 apt_num열을 Optional로 생성한다. 1. auth.py 수정 #phone_number 열 추가 class CreateUser(BaseModel): username: str email: Optional[str] first_name: str last_name: str password: str phone_number: Optional[str] #phone_number 열 추가 @router.post("/create/user") async def create_new_user(create_user: CreateUser, db: Session = Depends(get_db)): create_user_model ..

article thumbnail
FastAPI 테이블 관계 형성하기- 72
Develop/FastAPI 2023. 1. 24. 14:38

Alembic이 아닌 코드 자체에서 Foreign key 설정 1. models.py 수정 from sqlalchemy import Boolean, Column, Integer, String, ForeignKey from database import Base from sqlalchemy.orm import relationship class Users(Base): __tablename__ = "users" id = Column(Integer, primary_key=True, index=True) email = Column(String, unique=True, index=True) username = Column(String, unique=True, index=True) first_name = Column(..

article thumbnail
FastAPI Alembic new 테이블 및 외래키 생성(Upgrade / Downgrade) - 71
Develop/FastAPI 2023. 1. 22. 20:48

alembic을 통한 address 테이블 생성 및 외래키 설정을 위한 칼럼 추가 1. 테이블 추가를 위한 새로운 버전 생성 2. 버전의 upgrade / downgrade 함수 수정 def upgrade(): op.create_table('address', sa.Column('id', sa.Integer(), nullable=False, primary_key=True), sa.Column('address1', sa.String(), nullable=False), sa.Column('address2', sa.String(), nullable=False), sa.Column('city', sa.String(), nullable=False), sa.Column('state', sa.String(), null..

article thumbnail
FastAPI What is Alembic(upgrade/ downgrade 실습) - 70
Develop/FastAPI 2023. 1. 22. 19:53

Alembic 정의 Spring에서 Flyway가 있다면 Python(FastAPI)에서는 Alembic이 DB 마이그레이션 버전 관리를 제공한다. SQLAlchemy를 사용할 때 경량화된 DB 마이그레이션 툴이다. 역할 - Scripts로 migration 환경을 생성 - Migration 테이블을 통해 어디까지 마이그레이션이 되었는지 확인 - 데이터베이스를 실시간으로 수정 및 변경 사항을 추적할 수 있다. - 중복 마이그레이션 및 버전 관리(다운그레이드 및 롤백도 가능) Alembic 명령어 및 파일 소개 Alembic 명령어 No. Command Details 1 alembic init 작성한 폴더명으로 alembic 정보(마이그레이션 환경)가 담길 폴더가 생성 2 alembic revision -..

FastAPI Routing 실습 - 69
Develop/FastAPI 2023. 1. 18. 00:57

실습 문제 1. routers 디렉터리에 users.py 생성 2. users.py 특정 사용자 호출(path parameter) API: GET 3. users.py 특정 사용자 호출(query parameter) API: GET 4. users.py JWT를 생성해서 해당 사용자 암호 업데이트 API: PUT 5. users.py JWT를 생성해서 해당 사용자 삭제 API: DELETE 실습 풀이 프로젝트 구조 TodoApp main.py database.py models.py TodoApp/routers TodoApp/company auth.py users.py todos.py companyapis.py dependencies.py 1. 라이브러리 및 DB 연결 그리고 에러 함수 생성 from fa..

728x90
SMALL