Django 흐름도
·
Python/Django
사용자의 요청URLConf(urls.py) - spring으로 따지면 Controller(Dispather Servlet, Servlet)View(views.py) - 구체적으로 어떤 일을 하는지 비지니스 로직을 짜는곳(Service)Model(Models.py) - JPA로 따지면 Entity Model에서 Database에 접근해 필요한 정보를 가져오고, Model로 변환변환한 모델을 View에서 원하는 형태로 가공실제로 View에서 가공한 Model로 Template을 제작제작완료된 Template를 client에게 제공 https://www.youtube.com/watch?v=Go-NZbOgcUE&ab_channel=SEOULG-캠프그림 출처는 Seoul g-캠프의 장고강의 Uploaded by ..
Django에서 Url요청을 처리하는 법
·
Python/Django
Django는 URLconf를 이용하여 Url과 서비스(View의 함수)를 연결한다.실제 URLConf 파일인 urls.py를 뜯어보면 다음과 같이 작성하게 된다.urlpatterns =[ path('student/register/',views.student_register), path('student/search/',views.search), path('student/modify/',views.student_modify), path('student/delete/',views.student_delete), ]ㅇ와 같이 요청할 url, 사용할 메서드 순으로 작성하게 된다. Uploaded by N2T
View의 역할
·
Python/Django
Url로 요청이 들어오고, UrlConf를 통해 연결이 된 메서드들이 실제로 동작하는 장소 Spring으로 따지면 Controller, Service단이라고 생각된다. Spring이전 Jsp와 Servlet, tomcat으로 웹 프로그래밍을 할 때는, xml파일을 통해 url과 Controller를 연결지어 줬는데, 여기에서는 xml파일 대신 UrlConf을 사용해서 Url과 View(Controller)를 연결하고, 연결한 View에서 Model을 이용해 Database에 접근해, 필요한 정보를 가져오고 가공하여, Template로 제작. client에게 제공하게 된다. 거의 스프링과 하는일이 다르지 않아서 아직까지는 Django의 이점이 확실하게 느껴지지 않는데, 이후 나올 Model부분을 크게 기대..
데이터베이스(ORM-Django Model)
·
Python/Django
데이터베이스의 종류관계형 데이터베이스(MySql)NoSQL(MongoDB) 데이터베이스에 쿼리하기 위한 언어 → SQL같은 작업을 하더라도, 적은 수의 SQL, 보다 높은 성능의 SQL을 사용해야 함직접 쿼리를 작성하기도 하지만, ORM을 통해 SQL을 생성, 실행함ORM을 쓰더라도, 내가 작성한 ORM코드로 어떤 SQL이 실행되고 있는지 파악을 하고, 이를 최적화 할 수 있어야 함(django-debug-toolbar)활용 장고 기본 ORM Model은 RDB(관계형 데이터베이스)만을 지원함 NoSql을 쓰려면 다른 ORM을 사용해야함Python의 ORM은 여러가지가 존재함 Models, django-mongodb-engine, hot-redis등등 필요한것을 골라먹으면 됨 장고의 강점은 Model과 ..
Django 공부 시작
·
Python/Django
Django를 공부하기로 했다. Python으로 코딩 테스트 공부를 하고 있다보니, Python의 문법이 마음에 들어 Django를 공부해 보기로 했다.Python의 문법에도 익숙해 질 수 있고, 스프링과 비슷한 구조에다가, Admin 페이지 제공이 되는 옵션이 있고, 스프링에서 JPA로 배워야 했던 ORM이 기본적으로 적용되어있어 좀 더 데이터베이스 친화적인 프레임워크이다. 공부할 강의를 찾는데 꽤나 애먹었는데, Django를 공부하는 사람이 거의 없어서 그런가 보다. 하지만 그래도 그만큼 마음에 든 언어이고, Python에서는 매력적인 서드파티 라이브러리가 많은데, 그런 라이브러리도 가져와서 쓸 수 있다는 장점이 있기 때문에 공부하고 싶다고 생각했다. 앞으로는 코딩테스트 강의를 장고 강의를 듣고 나서..