강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của nnamjun944252
nnamjun944252

câu hỏi đã được viết

Nhập môn Python Django bắt đầu từ triết lý thiết kế Django

Triết lý thiết kế Django #3. thiết kế URL

URL 매핑 관련해서 질문드립니다.

Viết

·

268

0

안녕하세요 선생님. 수업 잘듣고 있습니다.

"장고앱 폴더만 다른 프로젝트로 복사하면 복잡한 설정없이 사용할 수 있다."라는 것에 대해 질문이 있는데요.

폴더를 복사해서 사용하게 되면

복사가된 폴더와 복사를 한 폴더의 models 파일이 같은 테이블을 바라보게 되는데 한 폴더에서 models의 내용을 수정해 table내용을 변경하게 된다면 나머지 다른 폴더도 변경해줘야 하지 않을까요? 그렇게 된다면 models라는 폴더는 공용으로 쓰는게 맞지 않나 생각합니다.

 

또 다른 질문이 있습니다. FastAPI를 사용했다는 가정하에 Layer가 잘 나눠져 있다는 가정하에 UrL이 매핑되어 있어도 Controller 함수만 하나더 추가하면 더 유연한 구조가 될거 같은데요. 선생님 생각은 어떤지 궁금합니다.

느슨한 결합 부분에서 복붙을해서 프로젝트를 확장하는 것이 확장성이 있는 장점인지 잘 모르곘습니다.

 

수업 잘듣고 있습니다. 감사합니다!

pythondjango

Câu trả lời 1

1

pyhub님의 프로필 이미지
pyhub
Người chia sẻ kiến thức

안녕하세요.

장고 앱은 재사용성을 위한 기반을 제공해주는 것 일 뿐, 개발자가 재사용성이 떨어지도록 활용한다면 그 의미가 퇴색될 것입니다. 각 모델의 디폴트 db_table 명은 prefix 로 "앱이름_" 을 사용하고 있어서, 기본적으로 각 앱 간에 중복이 되진 않습니다. 하지만 db_table을 변경해서 다른 앱과 중복이 발생토록 한다면, 그 장고 앱은 재사용성이 떨어질 것입니다. 장고 앱으로 배포되는 라이브러리들은 db_table 속성을 지원하지 않으시는 것이 맞습니다.

라이브러리가 아닌, 개발하시는 프로젝트 내에서는 그 프로젝트만의 코드를 작성하실테니 재사용성을 고민하실 필요가 없으실 것이고, 프로젝트 내에서 굳이 여러 앱으로 나누실 필요는 없습니다. 단일 앱 내에서 폴더 구조를 깊게 가져가시는 방법도 있습니다. models.py 모듈을 models/ 팩키지로 가져가시는 거죠.

"Controller 함수만 하나더 추가하면 더 유연한 구조가" 부분은 제가 질문이 잘 이해가 안 되어서요. 맥락을 좀 더 설명해주실 수 있으실까요?

살펴보시고 댓글 부탁드립니다.

질문에 감사드리고, 새해 복 많이 받으세요. :-)

Hình ảnh hồ sơ của nnamjun944252
nnamjun944252

câu hỏi đã được viết

Đặt câu hỏi