TOP
본문 바로가기
[파이썬 Projects]/<파이썬 웹개발>

[파이썬]FastAPI - 다른 컴퓨터에서 프로젝트(VSCODE, 깃허브)

by 기록자_Recordian 2025. 5. 12.
728x90
반응형
이전 내용
 

[파이썬] FastAPI - 메모 앱 프로젝트 11: 회원 탈퇴

이전 내용 [파이썬] FastAPI - 메모 앱 프로젝트 10: 환영 이메일 발송이전 내용 [파이썬] FastAPI - 메모 앱 프로젝트 9: 소셜 로그인 추가(네이버)이전 내용 [파이썬] FastAPI - 메모 앱 프로젝트 9: 소셜

puppy-foot-it.tistory.com


다른 컴퓨터에서 프로젝트 이어서하기

 

현재 메모앱 만들기 프로젝트를 학원 컴퓨터와 집 노트북 두 군데서 번갈아가면서 작업하고 있다. 집에서 작업한 다음 깃허브 GUI를 통해 파일을 업로드하고, 학원에서 작업할 때는 깃허브 레포지토리에서 폴더 전체를 다운받아 덮어쓰기하는 방식으로, 또 작업한 내용은 깃허브에 올리고 이런 반복적인 작업으로 프로젝트를 이어가고 있다.

 

그런데, 아무리 GUI 방식이라고 하더라도 매번 깃허브에 접속해서 폴더 드래그 하거나, 아니면 폴더를 다운받는 이 과정이 좀 귀찮다. 그래서 VSCODE에서 CLI 방식으로 조금 더 간단하게 해보려 한다. 

사실 필자의 경우, CLI 보다는 GUI가 익숙하기도 하고, 깃허브 사용법을 제대로 배운 적이 없었는데 개발자로 일하게 되면, 특히 팀 작업으로 진행 시에는 깃허브 사용에 익숙해지는게 중요하기 때문에 연습 겸 습관을 들여보려고 한다.

 

우선, 필자도 깃허브 사용법을 정확히 모르기 때문에 필자가 하는 방법보다 훨씬 더 쉽고 간단한 방법이 있을 것이다. 


VSCODE에서 깃허브 저장소 불러오기

 

먼저, 깃허브에 접속한 뒤 불러올 저장소에 들어가서 좌측에 [<> Code] 버튼을 누르고 HTTPS에 있는 주소를 복사한다.

 

 

그리고 VSCODE에서 터미널에 하단의 명령어를 입력한다. (내가 불러올 폴더 경로로 이동 후)

git clone <복사한 URL>

 

그리고나서, albemic을 이용하여 소셜로그인으로 인한 테이블의 칼럼이 변경된 것을 추가해 준다.

alembic revision --autogenerate -m "Add google_id, kakao_id, naver_id  column to User"

alembic upgrade head

 

SQLShell에서 테이블 조회를 해보니, 칼럼이 잘 추가되었다.

 

▶ 데이터베이스 파일까지는 가져오지 않았기 때문에, 회원정보가 같지는 않다.

실무에서는 AWS의 RDS를 연결하여 사용하는 방식 등이 필요할듯하다. (이것은 백엔드 기능을 구현하는 것이니, 해당 부분은 추후에 실제 배포 시에 해보는 걸로.)

 

아까 학원에서는 문제없이 잘 됐는데, 집에서 하니까 아래의 메시지가 발생하면서 로그인이 500 Internal Server Error가 발생했다.

jinja2.exceptions.UndefinedError: 'user_info' is undefined

 

찾아보니, controllers.py 파일에 메모를 조회하는 함수에 user_info 라는 변수를 정의해줘야 한다고 하여 추가해줬다.

# 메모 조회
@router.get("/memos")
async def list_memos(request: Request, db: Session = Depends(get_db)):
    # 사용자별 메모 관리
    username = request.session.get("username")
    if username is None:
        raise HTTPException(status_code=401, detail="Not Authorized")
    user = db.query(User).filter(User.username == username).first()
    if user is None:
        raise HTTPException(status_code=404, detail="User를 찾을 수 없습니다.")
    memos = db.query(Memo).filter(Memo.user_id == user.id).all()
    # 리스트 내포 사용하여 전체 정보 반환
    return templates.TemplateResponse("memos.html", {
        "request": request, 
        "memos": memos,
        "username": username, # 사용자 이름 추가
        "user_info": user # user 정보 추가
        })

 

서버를 다시 실행하여 로그인하니 제대로 로그인이 됐다.


수정한 내용 깃허브에 올리기

 

작업이 종료된 후에는 변경 사항을 커밋하고 GitHub에 푸시할 수 있다.

 

1. 변경 사항 스테이지 하기:

git add .


2. 커밋 하기:

git commit -m "작업 내용에 대한 설명"


3. 푸시 하기:

git push origin branch-name # 필자의 경우는 main


깃허브에 들어가서 확인해 보니, 잘 올라와있는 것을 볼 수 있다.

 


다음 내용

 

[파이썬] FastAPI - 메모 앱 프로젝트 12: 파일 분할하기

이전 내용 [파이썬] FastAPI - 메모 앱 프로젝트 11: 회원 탈퇴이전 내용 [파이썬] FastAPI - 메모 앱 프로젝트 10: 환영 이메일 발송이전 내용 [파이썬] FastAPI - 메모 앱 프로젝트 9: 소셜 로그인 추가(네

puppy-foot-it.tistory.com

728x90
반응형