개발로 자기계발
728x90
SMALL
article thumbnail
FastAPI 프로젝트 진행(로그인, 회원가입 프론트 구현) - 80
Develop/FastAPI 2023. 1. 25. 23:45

프로젝트 디렉터리 구조 fastapi todoapp main.py database.py models.py todos.db templates static routers todo css js home.html add-todo.html edit-todo.html login.html register.html base.css bootstrap.css bootstrap.js jquery-slim.js popper.js auth.py todos.py 로그인 및 회원가입 페이지 만들기 templates 디렉터리 하위에 login.html, register.html 생성 1. login.html 수정 Todo App Home Login Username Password Login Register? 2. HTML 렌더링(t..

article thumbnail
FastAPI 프로젝트 진행(form 생성 / 수정) - 79
Develop/FastAPI 2023. 1. 25. 23:18

프로젝트 디렉터리 구조 fastapi todoapp main.py database.py models.py todos.db templates static routers todo css js home.html add-todo.html edit-todo.html base.css bootstrap.css bootstrap.js jquery-slim.js popper.js auth.py todos.py form을 사용해서 화면 구성(생성 / 수정) templates 디렉터리 하위에 add-todo.html, edit-todo.html 생성 1. add_todo.html 수정 Todo App Home Make a new todo Title Description Priority 1 2 3 4 5 Add new tod..

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..

728x90
SMALL