inflearn logo
강의

Course

Instructor

Introduction to Python Django: Starting with Django's Design Philosophy

Django Design Philosophy #3. URL Design

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

272

ni j

4 asked

0

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

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

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

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

 

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

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

 

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

python django

Answer 1

1

pyhub

안녕하세요.

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

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

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

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

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

pycharm 리딤코드

0

64

2

pycharm 프로 에디션

0

163

2

메일 전송하는 부분은 어떨때 쓰는건가요?

0

88

1

'venv' 같은 이름의 가상환경 만들지마세요

0

264

1

get_object_or_404로 바꾼 후 계속 오류가 나옵니다

0

121

2

[Django 5 버전 - 해결 방법] Method Not Allowed (GET)

0

289

1

개발환경 구축 관련하여 질문드립니다.

1

224

1

PyCharm Professional

0

258

1

accounts/url 질의

0

235

2

render 관련

0

230

1

추가질문 환경세팅)

0

345

3

장고프로젝트 생성시

0

255

2

도커 설치관련

0

234

1

환경세팅 질문드려요

0

234

1

smtp 발송에서

0

277

2

주소가 app/app/1로 나와요

0

200

1

주소가 app/app/1로 나옵니다

0

250

2

CreateView에 html 코드가 어떻게 적용되는 걸까요?

0

372

1

#장고 철학5 모델 설계 질문 드립니다.

0

208

1

Http Method 관련 질문입니다.

0

166

1

벌레모양 디버그랑 런이란 무슨 차이가 있나요?

0

496

1

파이참 프로 에디션

0

209

1

sql

0

350

1

Git

0

249

1