Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| public:computer:django [2021/08/04 01:28] – alex | public:computer:django [2021/08/24 17:59] (current) – [develop with django] alex | ||
|---|---|---|---|
| Line 17: | Line 17: | ||
| * admin site | * admin site | ||
| * runserver; 상용화를 고려할 때 runserver 대신 apache / nginx 선택 | * runserver; 상용화를 고려할 때 runserver 대신 apache / nginx 선택 | ||
| + | * 소스 입력 시 한글 사용; #-*- coding: utf-8 -*- | ||
| Line 101: | Line 102: | ||
| </ | </ | ||
| - | <sxh> | + | < |
| # settings.py | # settings.py | ||
| Line 170: | Line 171: | ||
| * 상속; base.html, home.html, footer.html, | * 상속; base.html, home.html, footer.html, | ||
| * 인증 | * 인증 | ||
| + | |||
| + | ===== 장고 핵심 기능 ===== | ||
| + | ==== Model ==== | ||
| + | * 모델 속성, 모델 메소드, Meta 내부 클래스 속성, Manager 속성 | ||
| + | * 모델 간 관계 | ||
| + | * 1: | ||
| + | * N: | ||
| + | * 1: | ||
| + | * 관계 매니저(RelatedManager) | ||
| + | |||
| + | |||
| + | ==== View ==== | ||
| + | ^ 제네릭 뷰 분류 및 역할 | ||
| + | | Base View | View | 가장 기본이 되는 최상위 제네릭 뷰. 다른 모든 제네릭 뷰는 View의 하위 클래스. | ||
| + | | ::: | TemplateView | ||
| + | | ::: | Redirect View | URL이 주어지면 해당 URL로 리다이렉트 | ||
| + | | Generic Display View | ListView | ||
| + | | ::: | DetailView | ||
| + | | Generic Edit View | FormView | ||
| + | | ::: | CreateView | ||
| + | | ::: | UpdateView | ||
| + | | ::: | DeleteView | ||
| + | | Generic Data View | ArchiveIndexView | ||
| + | | ::: | YearArchiveView | ||
| + | | ::: | MonthArchiveView | ||
| + | | ::: | WeekArchiveView | ||
| + | | ::: | DayArchiveView | ||
| + | | ::: | TodayArchiveView | ||
| + | | ::: | DateDetailView | ||
| + | |||
| + | * 속성 오버라이딩; | ||
| + | * 메소드 오버라이딩; | ||
| + | * 제네릭 뷰의 처리 흐름 | ||
| + | * ListView; setup() -> dispatch() -> http_method_not_allowed() -> get() -> get_queryset() -> get_context_data() -> get_context_object_name() -> render_to_response() -> get_template_names() | ||
| + | * DetailView; setup() -> dispatch() -> http_method_not_allowed() -> get() -> get_object() -> get_queryset() -> get_context_data() -> get_context_object_name() -> render_to_response() -> get_template_names() | ||
| + | * MRO(Method Resolution Order); 다중 상속에서 동일한 이름을 가진 메소드가 둘 이상의 부모 클래스에 존재할 경우 어느 메소드를 먼저 사용해야 할지 결정하는 알고리즘 | ||
| + | * 제네릭 뷰의 페이징 처리 | ||
| + | * 페이징 기능 활성화 | ||
| + | * Paginator 클래스 | ||
| + | * Page 클래스 | ||
| + | * 단축 함수 | ||
| + | * render_to_response() | ||
| + | * render() | ||
| + | * redirect() | ||
| + | * get_object_or_404() | ||
| + | * get_list_or_404() | ||
| + | |||
| + | ==== Template ==== | ||
| + | * {% include %} | ||
| + | * {% static %} | ||
| + | |||
| + | ==== Form ==== | ||
| + | * 일반 폼; Form 클래스를 상속받아 정의 | ||
| + | * 모델 폼; ModelForm 클래스를 상속 받아 정의. 폼 필드의 구성을 데이터베이스 모델 정의 기반으로 폼을 정의하는 경우에 사용. modelform_factory() 함수를 사용해 모델 폼을 정의할 수도 있음. | ||
| + | * 폼셋; 일반 폼을 여러 개 묶어서 한 번에 보여주는 폼. formset_factory() 함수를 사용해 폼셋을 정의. | ||
| + | * 모델 폼셋; 데이터베이스 모델이 기초해서 만든 모델 폼을 여러 개 묶은 폼셋. modelformset_factory() 함수를 사용해 모델 폼셋을 정의. | ||
| + | * 인라인 폼셋; 두 모델 간의 관계가 1:N인 경우, N 모델에 기초해서 만든 모델 폼을 여러 개 묶은 폼셋. inlineformset_factory() 함수를 사용해 인라인 폼셋을 정의 | ||
| ===== AWS, Heroku ===== | ===== AWS, Heroku ===== | ||
| Line 201: | Line 259: | ||
| * EC2 서비스 참고 사항 | * EC2 서비스 참고 사항 | ||
| + | |||
| ^ ^ 장점 | ^ ^ 장점 | ||
| | EC2(Elastic Comput Cloud) 서비스 | | EC2(Elastic Comput Cloud) 서비스 | ||