본문 바로가기
반응형

전체보기45

sqlite3.OperationalError: near "Order": syntax error Python에서 바로 sqlite DB를 사용할 수 있습니다. 하지만 이렇게 연결해서 쓰는경우 아래 와 같은 문법 에러를 만나는 경우가 있습니다. import sqlite3 con = sqlite3.connect("경로\\test.db", isolation_level=None) cursor = con.cursor() sql = "CREATE TABLE Inventory(Date TEXT, Order INTEGER, Comsuption INTEGER, Total INTEGER)" cursor.execute(sql) // Traceback (most recent call last): File "", line 1, in sqlite3.OperationalError: near "Order": syntax err.. 2022. 10. 22.
Jupyter notebook 내에서 pip install 간단하게 테스트하거나 공부할때 정말 유용한 jupyter notebook을 가상환경으로 구동하다보면 패키지 설치가 필요합니다. 그럴때 단순히 !pip 로 설치를 하는 경우가 있습니다 !pip install [name] 하지만 실제로 실행해보면 여전히 module이 없다는 에러가 나오게 될것입니다. 그 이유는 ! pip 의 경우 path에 저장된 경로로 설치될 확률이 높습니다. 그럴때는 아래와 같이 주피터노트북이 켜진 가상환경을 찾아내어 해당 환경에 설치하도록 하여야 합니다. import sys !{sys.executable} -m pip install selenium 2022. 8. 13.
FastAPI 자습서 스터디 기록 (Extra Models) Extra Models의 경우 더 섬세한 입출력 검증위해 사용한다고 생각하시면 됩니다. 이때 중복도 감소하게 되어 클린한 코드를 유지할 수 있습니다.. 흔히 Python을 사용 해본사람은 알 수 있는 자료형들입니다. UUID: datetime.datetime: 파이썬의 datetime.datetime (2022-06-15T15:53:00+09:00) datetime.date: 파이썬의 datetime.date. (2022-06-15) datetime.time: 파이썬의 datetime.time. (18:20:00.123) datetime.timedelta: 파이썬의 datetime.timedelta. Decimal: 파이썬의 Decimal. 아래 코드와 같이 중복되는 것을 선언하고 상속을 받아 또 다른 .. 2022. 6. 14.
FastAPI 자습서 스터디 기록 (Response Model) 당연히 호출하는게 있다면 응답해주는게 있을것입니다. 이때도 형식과 필드를 지정하여 응답해줄 수 있습니다 사용 방법은 path 옵션으로 지정해주는 것입니다. @app.get() @app.post() @app.put() @app.delete() etc 특히 로그인이나 회원가입의 경우 password 필드가 존재합니다. 이때 패스워드를 리턴해준다면 보안상 안좋기때문에 아래와 같이 다른 필드를 리턴해주도록 할 수 있습니다. from typing import Union from fastapi import FastAPI from pydantic import BaseModel, EmailStr app = FastAPI() class UserIn(BaseModel): username: str password: str .. 2022. 6. 14.
FastAPI 자습서 스터디 기록 (Header Parameters) Header는 Path, Query 및 Cookie의 "자매"클래스입니다. 이 역시 동일한 공통 Param 클래스를 상속합니다. # Cookie from typing import Union from fastapi import Cookie, FastAPI app = FastAPI() @app.get("/items/") async def read_items(ads_id: Union[str, None] = Cookie(default=None)): return {"ads_id": ads_id} # Header from typing import Union from fastapi import FastAPI, Header app = FastAPI() @app.get("/items/") async def read_it.. 2022. 6. 12.
FastAPI 자습서 스터디 기록 (Multiple Parameters, Nested Models) 다수의 파라미터를 사용하려면 아래와 같이 BaseModel을 상속받아 만들면 됩니다. Django의 forms와 비슷하다고 생각이 듭니다. 해당 코드는 테스트를 위한 코드이기때문에 한 페이지에 표시 되었지만, 구조를 정해서 해당 구조에 맞게 관리하는것이 유지보수를 높일 수 있는 방법이지 않을까 합니다. from typing import Union from fastapi import Body, FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): name: str description: Union[str, None] = None price: float tax: Union[float, None] = None class Us.. 2022. 6. 12.
FastAPI 자습서 스터디 기록 (Query Parameters and String and numeric Validations, ) 실제 path에는 없지만 쿼리에 사용되는 파라미터를 의미합니다. from typing import Union from fastapi import FastAPI, Query app = FastAPI() @app.get("/items/") async def read_items(q: Union[str, None] = Query(default=None, max_length=50)): results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} if q: # 입력 된 q를 그냥 표시만 추가함 results.update({"q": q}) return results 결과는 이렇게 나오게 됩니다. 만약에 q를 필수 항목으로 두고 싶다면 아래와 같이 작성해줍니다. fro.. 2022. 6. 12.
FastAPI 자습서 스터디 기록 (Request Body, Pydantic) 데이터를 주고 받을때는 데이터가 올바른지 검증하는것이 중요합니다. 설치 및 매개변수에 대해 이전에 알아봤는데요~ FastAPI 자습서 스터디 기록 (설치 및 경로 매개변수, 쿼리 매개변수) 최초 설치 # 의존성 패키지까지 설치 pip install fastapi[all] uvicorn main:app --reload FastAPI는 docs (Swagger)와 redoc을 제공합니다. # path, 경로라고 합니다. # domain.com/ 뒤로 https://example.com/.. install-django.tistory.com 이번 포스팅은 Pydantic's BaseModel 사용에 관한 포스팅입니다. 데이터 검증을 위해서는 데이터 형식을 사전에 정의해두는 것이 중요합니다. 이때 BaseMode.. 2022. 6. 12.
FastAPI 자습서 스터디 기록 (설치 및 경로 매개변수, 쿼리 매개변수) 최초 설치 # 의존성 패키지까지 설치 pip install fastapi[all] uvicorn main:app --reload FastAPI는 docs (Swagger)와 redoc을 제공합니다. # path, 경로라고 합니다. # domain.com/ 뒤로 https://example.com/items/foo 경로 = /items/foo "경로"는 일반적으로 "앤드포인트" 또는 "라우트"라고도 불립니다. 대표적인 HTTP 메소드 POST, GET, PUT, DELETE 가 있으며,OPTIONS, HEAD, PATCH, TRACE 옵션들이 더 있습니다. from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {.. 2022. 6. 12.
Django + FastAPI 혼합하여 백엔드 만들기 (개요) 이번에는 공부 차원에서 실험적인 포스팅을 진행할까 합니다. RESTful API 백엔드 개발을 FastAPI만 사용하려다보니 몇가지 걱정이 앞섰습니다. 1. RESTful API 서비스에서 웹 서비스까지 추가 확장될때 세션 구현을 어떻게 하지? 2. Django의 장점인 미들웨어를 얼마나 직접 구현해야 하지? 3. 마이그레이션을 잘 관리할 수 있나? 4. 종속성이 없는 FastAPI 구조를 일관되게 끝까지 잘 유지할 수 있나? 뭐 생각해보면 더 많겠을수도있고 제가 언급한게 아니라고 생각할 수도 있을것 같습니다. 개인적으로는 위에 언급된 부분을 처음부터 고민한것은 아닙니다. 각자의 장점이 될만한것만 잘 조합해서 사용해보면 어떨까?가 궁금증에서 해당 포스팅의 시작이 되었습니다. 그렇다면 바로 mkdir 해야.. 2022. 6. 8.
assertIn VS assertContains 무엇이 다른가요? assertIn assertIn(a, b)은 (a in b)를 테스트할때 사용하게 됩니다. 파이썬 3.1 버전에서 추가되었습니다. self.assertIn('file_name.py', data.filename) ok assertContains assertContains(response, text, count=None, status_code=200, msg_prefix='', html=False)은 장고에서 사용할 수 있는 테스트입니다. self.assertContains(response, '타이틀명') ok 기능이 유사하지만 헷갈리면 안되는 기능 입니다~! 2022. 1. 27.
개발자도구에서 VUE 탭이 안보이는 현상 Django와 Vue를 함께 연동해서 개발을 하고 있습니다. 그러다보니 현재 component 상태를 알아야하는 경우가 많이 있습니다. (상태를 매번 console.log로 찍을수도 없기 때문이죠).. Vue는 친절하게도 크롬 확장프로그램을 제공해줍니다. (Vue.js devtools) 설치 버튼 한방에! 설치 완료! ㅎ 하지만 개요에 나와있는 이미지와 다르게 Vue 탭이 없습니다. 어쩐지 이렇게 쉽게 될리가 있나 하고 다른 방법을 찾아봤습니다. 여러사람들이 공통적으로 겪는 부분인것 같았습니다. 별도의 다른 Beta 프로그램을 설치해보라는 말도 있어서 해당 프로그램도 설치~ 하지만 결과는 똑같았네요;; 근데 단순한 부분이였습니다. 개발 모드 js를 사용하면 되네요 {# vue 개발 모드 CDN #} {#.. 2022. 1. 7.
반응형