묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨파이썬 API 마스터! FastAPI
파라미터 문의
안녕하세요.from typing import list 추가해줬고, 다음과 같이 작성하였는데 docs 에서 테스트 하려고 보니 파라미터를 받는 부분이 없네요.설명 부탁드립니다.아울러 fast api를 처음 접하는 사람들은 이게 실행이 어떻게 되고 어떻게 swagger ui를 활용하고 타입힌트가 뭐고 등등의 세부적인 설명이 필요할 듯한데 이러한 부분이 좀 더 추가되었으면 합니다. 완전 초심자를 타켓층으로 하는 강의인데 생각보다 생략되는 부분이 많네요.from typing import List@app.get("/test_items/") async def read_items(q : List[str] = None): query_items = {"q" : q} return query_i
-
해결됨실전! FastAPI 입문
PyCharm 내 Python Console 사용 질문
WSL2를 사용해 강의를 따라가고 있습니다.파이참에서 파이썬 콘솔을 실행하면 위와 같이 재시작, 정지, 한 줄씩 실행 버튼이 잘 보이는 경우가 있고, 아래처럼 보이지 않는 경우가 있습니다. 이런 경우는 뭐가 문제일까요?또한, 파이썬 콘솔에서 코드를 작성한 이후 엔터를 입력해도 다음 줄로 넘어가기만 하고 실행이 되지 않습니다.한 줄씩 실행하려면 alt + shift + e 이렇게 입력해야 하는데, 이렇게 코드를 실행하게 되면 여러 줄은 또 실행되지 않습니다... 뭐가 문제인지 알려주시면 감사하겠습니다.
-
해결됨파이썬 API 마스터! FastAPI
소스코드는 어디서 받을 수 있나요..?
소스코드는 어디서 받을 수 있나요...
-
해결됨파이썬 API 마스터! FastAPI
라우터 함수를 비동기함수로 작성하셨다가 동기함수로 작성하시기도 하는 이유가 궁금합니다.
2:36초에 app.post에서 정의한 함수는 비동기함수로 정의하지 않고, 4:50초에 app.get에서 정의한 함수는 비동기함수로 정의되어있는데 이 차이를 구분하신 이유가 따로 있을까요?
-
해결됨파이썬 API 마스터! FastAPI
좀 더 맛깔나게 써봅시다! / 질문
3:43에 값 입력할 때 조금 헷갈려서 아래 사진과 같이 입력하면 되는 걸까요?입력 시, Internal Server Error가 발생하는데 혹시 시도해 볼 수 있는 해결 방안이 있는지 여쭤 봅니다 (파이썬 3.11버전 활용하고 anaconda 설치 안하고 ms에 가상환경 구축하였습니다)
-
해결됨파이썬 API 마스터! FastAPI
엔드포인트와 HTTP메서드! _ 강좌에서 질문 있습니다
안녕하세요 강사님 아래와 같은 질문 있습니다터미널에서 uvicorn main:app 입력으로 실행 후 clinet.py 를 어떻게 실행하면 될까요? 그리고 강의에서 캡쳐해주신 예제코드좀 업로드 해주실 수 있으실까요? 화면에 재생버튼때문에 코드 아랫부분이 잘 보이지 않습니다....
-
해결됨파이썬 API 마스터! FastAPI
엔드포인트와 HTTP 메서드! / 질문
강의 상에 설명으로는 이해가 부족하여 질문 합니다. 1. 앞에 작성한 코드에 코드명이 따로 안나와 있어서 앞 선 코드가(import logging으로 시작하는 코드) main.py가 맞을까요?실행 결과가 강의 창(16:14)만으로는 이해가 안되어서 main.py를 'uvicorn main:app' 으로 실행한 후에 client.py를 터미널 상에 실행하면 되는건가요?ps. 강의자료를 github주소로 기재해주신다고 하셨는데 github주소를 찾을 수 없어서 추가로 문의 드립니다
-
해결됨실전! FastAPI 입문
Redis 연결중 import
Redis import 가 안되네요 이런경우 어떻게 처리 하는지요? Docker 에 redis container 는 설치되었어요
-
해결됨실전! FastAPI 입문
섹션3 테스트코드 오류발생..
테스트코드 작성시 경고가 뜨는데, 어떻게 해결해야 할까요?
-
미해결실전! FastAPI 입문
실수도 DB todo테이블을 삭제했습니다
contents내용을 수정하려다가 꼬여서 drop명령어로 새로 테이블을 작성하고 할려했는데 테이블을 그대로 만들었는데 uvicorn main:app 이 명령어를 수행하면 500internal error가 뜹니다. ㅠㅠ 어디서부터 뭘 수정해야 할지 모르겠는데 다시 파이썬프로젝트와 DB를 연결할수 있게 할수 있는방법 있을까요??
-
해결됨실전! FastAPI 입문
섹션3 testcode get_단일조회 api
여기까지 코드 잘 따라서 작성하였고 #200부분을 잘 작동합니다. #404 부분코드를 삭제하고 실행하면 잘 돌아가는데404부분 코드를 작성하니까 48번째 줄에서 자꾸 오류가 뜨는데 해결방법이 있을까요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part8: Entity Framework Core
DB와 연결이 되지 않아 질문 남겨요
먼저AppDbContext.csusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; namespace MMO_EFCore { // EF Core 작동 스텝 // 1) DB Context 만들 때 // 2) DbSet<T>을 찾는다 // 3) 모델링 class 분석해서, 칼럼을 찾는다. // 4) 모델링 class에서 참조하는 다른 class가 있으면, 걔도 분석한다. // 5) OnModelCreating 함수 호출 (추가 설정 = override) // 6) 데이터 베이스의 전체 모델링 구조를 내부 메모리에 들고 있음 public class AppDbContext : DbContext { // DbSet<Item> -> EF Core한테 알려준다 // Item이라는 DB 테이블이 있는데, 세부적인 칼럼/키 정보는 item 클래스를 참고해 public DbSet<Item> Items { get; set; } // DB ConnectionString // 어떤 DB를 어떻게 연결해라 (각종 설정, Authorization 등) public const string ConnectionString = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=EFCoreDb;Integrated Security=True;Connect Timeout=30;Encrypt=False;Trust Server Certificate=False;Application Intent=ReadWrite;Multi Subnet Failover=False"; protected override void OnConfiguring(DbContextOptionsBuilder options) { options.UseSqlServer(ConnectionString); } } } DataModel.csusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MMO_EFCore { public class Item { // PK public int ItemId { get; set; } public int TemplateId { get; set; } // 101 -> 집행검 public DateTime CreateDate { get; set; } // 다른 클래스 참조 -> FK (Navigational Property) public int OwnerId { get; set; } public Player Owner { get; set; } } // 클래스 이름 = 테이블 이름 = Player public class Player { // 이름Id = PK public int PlayerId { get; set; } public string Name { get; set; } } } Program.csusing Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage; namespace MMO_EFCore { internal class Program { // 초기화 시간 좀 걸림 static void InitializeDB(bool forceReset = false) { using (AppDbContext db = new AppDbContext()) { if (forceReset && (db.GetService<IDatabaseCreator>() as RelationalDatabaseCreator).Exists()) return; db.Database.EnsureDeleted(); db.Database.EnsureCreated(); Console.WriteLine("DB Initialized"); } } static void Main(string[] args) { InitializeDB(forceReset: true); } } } SQL Server연결 문자열Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=EFCoreDb;Integrated Security=True;Connect Timeout=30;Encrypt=False;Trust Server Certificate=False;Application Intent=ReadWrite;Multi Subnet Failover=False 이렇게 되어있는 상태이고실행시 DB Initialized 출력을 못하고 계속 끝나버리길래디버그로 확인을 해보니if (forceReset && (db.GetService<IDatabaseCreator>() as RelationalDatabaseCreator).Exists()) return;이 부분에서 if 문에서 걸려서 return 됩니다 --> https://stackoverflow.com/questions/33911316/entity-framework-core-how-to-check-if-database-exists이 사이트와https://learn.microsoft.com/en-us/ef/core/managing-schemas/ensure-created이 사이트를 참조 했는데 해결을 못해서 질문 남겨봅니다.(Microsoft.EntityFrameworkCore.SqlServer 버전 8.0.3)
-
해결됨실전! FastAPI 입문
BackgroundTask 인자값 전달
안녕하세요 강사님 강의 재밌게 잘보고 있습니다BackGround task 강의에서 궁금한게 생겨서 질문 남깁니다. 아래는 verify_otp_handler 의 선언부인데def verify_otp_handler( request : VerifyOTPRequest, background_tasks : BackGroundTasks ... ) backgound_tasks 라는 객체는 DI로 받지도 않고 있는데 어떻게 함수 내부에서 사용될 수 있는지가 궁금합니다. request 라는 객체는 request 헤더부에서 넘어온 값이 프레임워크에 의해서 VerifyOTPRequest로 전처리되거라 어디서부터 왔는지 그 출처를 알겠지만, backgound_tasks는 DI도 되지 않았고 헤더부에서 넘어온 것도 아닌데 어떻게 생성된건지 궁금합니다.
-
미해결실전! FastAPI 입문
docker mysql 연동
docker에서는 mysql에 정상적으로 접속이 되는데python console을 통해서 연결을 시도하면 sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2059, "Authentication plugin 'b'auth_gssapi_client'' not configured")다음 에러가 나옵니다.select host, user from mysql.user where user= 'root';쿼리를 통해서 user 정보를 확인해보면 정상적으로 user가 셋팅 되어있습니다.
-
해결됨실전! FastAPI 입문
pytest는 어떻게 모킹함수를 인지하는지
안녕하세요 강사님강의 정말 재밌게 보고 있습니다.수강 도중 궁금한 내용이 생겨 질문 남깁니다.mocker.patch("main.get_todo_by_todo_id", return_value=Todo(id=1,contents="todo",is_done=True))여기서 인자값으로 문자열 main.get_todo_by_todo_id 를 전달했는데, pytest는 어떻게 저 함수를 모킹대상으로 인지하나요? 개념적으로 설명해주시면 감사합니다~!! response = client.patch("/todos/1", json={"is_done":False})해당 api 를 호출하고 실행하는 과정에서main_get_todo_by_todo_id 함수를 호출할 때 어떻게 모킹처리가 되는지 궁금합니다.
-
해결됨실전! FastAPI 입문
타입힌트 질문
안녕하세요 강사님강의 듣는 도중 조금 궁금한 내용이 생겨서 질문드립니다. 코드에서 아래와 같이 타입힌트를 사용하는 경우가 있는데def done(self) -> "Todo": self>is done = True ~ 왜 Todo에 "" 를 감싸주시는걸까요??그냥 Todo 라고 타입힌트를 줘도될거 같은데 이유가 궁금해서요
-
해결됨실전! FastAPI 입문
코드 질문
안녕하세요.파이썬 2.7만 주로 쓰다 오랜만에 쓰니 좀 헷갈리는게 있어 질문드립니다.encoding: str = "UTF-8"service 작성하시면서 설명해주신 코드인데,encoding = "UTF - 8" 이렇게 써도 encoding 변수에 뭐가 들어가는지 바로 확인이 되는데 굳이 : str 과 타입을 명시할 이유가 있나요 ? 이렇게 작성하였을 때 왜 이렇게 작성하고 어떠한 장점이 있는지 궁금합니다.비슷한 질문으로 def save_user(self, user: User) -> User:다음과 같이 반환 타입을 적어줘야 하는 것도 설명 부탁드립니다.작성하면서도 이걸 굳이 적어줘야 하는지가 궁금해서 질문드립니다.
-
해결됨실전! FastAPI 입문
router testcode 문의
router test code 에서 test_main.py 파일에 api.todo라고 main을 바꾸어 줬는데 import를 따로 안 시켜줘도 되나요 ?main.py는 from api import todo로 import 시키는데 test_main.py는 안 그래도 되는지 궁금합니다.
-
해결됨실전! FastAPI 입문
docker 설치 에러
안녕하세요.윈도우 os 사용중이고 docker desktop 설치 시 이후데몬이 활성화가 안되어 질문드립니다.데몬 활성화를 위해서는 가상화 지원이 되어야 하는데, bios 세팅 및 os 가상화 설정을 모두 하여서 작업관리자에서 가상화:사용 이라고 까지 표기가 되어도 하이퍼바이저 지원이 안된다는 에러가 나옵니다.wsl 설치 또한 가상화가 지원이 안된다는 에러와 함께 설치가 안되어 구글링 이후 문의 드립니다.
-
해결됨실전! FastAPI 입문
uvicorn 실행 에러
안녕하세요.학습 도중 재부팅하여 다시 uvicorn 실행하려고 하니ERROR: Error loading ASGI app. Could not import module "main". 다음과 같은 메세지가 나오면서 fast api 앱이 실행이 안되는데 이유가 궁금합니다.