Variables look like this: {{ variable }}. When the template engine encounters a variable, it evaluates that variable and replaces it with the result. Variable names consist of any combination of alphanumeric characters and the underscore ("_") but may not start with an underscore. The dot (".") also appears in variable sections, although that has a special meaning, as indicated below. Importantly, you cannot have spaces or punctuation characters in variable names.
Use a dot (.) to access attributes of a variable.
변수는 {{ 변수 }}의 형태로 사용한다. Template 엔진이 변수에 접근하면 변수는 해당 변수의 결과값으로 대체되어 출력된다. 변수는 숫자
, 영어
, 그리고 _
의 조합으로 설정할 수 있지만 _
로 시작하는 변수명은 불가능하다.
HTML Form
은 사용자와 웹사이트 또는 어플리케이션이 서로 상호 작용하는 것 중 중요한 기술 중에 하나이다. 폼은 사용자가 웹사이트에 데이터를 전송하는 것을 허용한다. 일반적으로 데이터는 웹 서버로 전송되지만 웹페이지가 데이터를 사용하기 위하여 사용할 수 도 있다.
HTML Form과 일반적인 HTML 요소의 주요 차이점은 Form에 의해 수집된 데이터는 대부분 웹서버에 전송된다는 점이다.
⬇ HTML Form의 기본 형태
<form action="/my-handling-form-page" method="post">
</form>
위 코드에서 action
과 method
요소는 필수적으로 설정해야 하는 요소로
action
: 데이터를 보낼 URL을 지정한다method
: 어떤 HTTP 방식을 사용할 것인지 지정한다(GET 또는 POST)label
: 한 줄을 입력받는 텍스트 필드input
: type
속성을 지정함으로써 어떤 종류의 입력을 받을 것인지 정의한다. 만약 e-mail 형태의 입력을 원한다면 <input type="email" id="mail" />
의 type 속성을 주어야 하는 방식.
textarea
: 여러 줄의 텍스트를 입력받을 수 있는 다중 라인 텍스트 필드Model : 응용프로그램의 데이터 구조를 정의하고 DB의 기록을 관리(추가, 수정, 삭제)하고 쿼리(query : DB에 정보를 요청하는 것)하는 방법을 제공하는 Python 객체.
Templates : 파일의 구조나 레이아웃을 정의하고(ex.HTML 페이지), 실제 내용을 보여주는 데에 사용되는 것
View : HTTP 요청을 수신하고 응답을 반환하는 일종의 요청을 처리하는 방식. View는 Model로부터 요청을 받고 해당 응답을 Templates을 통해 구현 방식을 결정함.
: 요청을 알맞은 view로 전달
urlpatterns
: 특정 url 패턴에 해당하는 함수에 대한 목록을 정의한다. 지정된 url 패턴과 해당하는 HTTP 요청이 수신되면 view 함수에서 요청을 전달한다.
urlpatterns = [
path('admin/', admin.site.urls),
path('crudapp/', include('crudapp.urls')),
]
path(일치시킬 경로, 패턴이 일치할 때 호출할 함수)
path('book/<int:id>/', views.book_detail, name='book_detail'),
book/<int:id>/
주소로 이동하면서 이 때 호출하는 함수는views.book_detail
이고, 이 함수는views
모듈 내에서book_details
이라는 이름으로 찾을 수 있다.
: 요청을 어떻게 전달할 것인지
: 데이터 모델 정의하기
모델은 필드 타입과 그들의 최대 크기, 기본 값들, 선택 목록 옵션, 문서의 도움말 텍스트, 폼(form)을 위한 labe text등을 포함하여 저장된 데이터의 구조를 정의합니다.