#웹의 구동방식
웹의 구동방식을 이해하면 쉽다! 먼저 웹의 구동방식을 알아보자 !!!
1.
클라이언트는 검색하고싶은 도메인을 찾아 접속한다.
2.
urls.py를 요청해 개발자가 써놓은 내용을 확인, 주로 경로를 알려주는 역할이라고 생각하면 됨.(예를들어 underdog.com/mypage/ 접속했을 때는 mypage라는 함수를 실행시키자!)
3.
그렇다면 함수는 어디에 적혀있나? 바로 views.py에 해당 함수들의 코드가 적혀있다!
4.
게시글(post)에 대한 내용은 models.py에서 정의한다!
5.
models.py에서 정의한 모델에 맞게 DB에서 필요한 자료를 가져온다.
6.
DB에서 가져온 자료를 템플릿의 빈 칸에 채워 사용자의 웹 브라우저로 보낸다!
1. 앱별 urls.py만들고 main urls.py에 연결하기
코드 경로: studentsProject/urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('students/', include('students.urls')), #해당 코드를 통해 django framework이 각각의
어플리케이션에 있는 urls를 찾을 수 있게 링크를 걸어줌!
]
JavaScript
복사
studentsProject에서 모든 urlpatterns를 관리하면 나중에 코드를 수정할 때 불편할 수 있다. 따라서 앱을 만들 때 마다 해당 앱의 폴더에 urls.py를 만들어서 따로 관리한다!
2. students앱에 urls.py 생성
코드 경로: students/urls.py
from django.urls import path
from . import views
app_name = 'students'
urlpatterns = [
path('reg/', views.regStudent, name='reg'),
#students/reg/로 접속시 views.regStudent로 매핑 됨!
]
JavaScript
복사
3. regStudent 함수 지정
코드 경로: students/views.py
from django.shortcuts import render
def regStudent(request):
return render(request, 'students/registerStudent.html') #regStudent라는 함수는 students/
registerStudent.html을 실행해라!
JavaScript
복사
4. registerStudent.html 작성
코드 경로: students/templates/students/registerStudent.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-Type" content="text/html"; charset=UTF-8>
<title>Title</title>
</head>
<body>
<p>Register Student</p>
<form action="" method="post">
{% csrf_token %}
name : <input type="text" name="name"></br>
major : <input type="text" name="major"></br>
age : <input type="text" name="age"></br>
grade : <input type="text" name="grade"></br>
gender : <input type="text" name="gender"></br>
<input type="submit" name="Register"></br>
</form>
</body>
</html>
JavaScript
복사