IT/Django
[Django] #2 Django 웹페이지 만들기 - index 만들기, django 기능 원리
wl807
2024. 3. 10. 17:20
django의 작동 원리는 다음과 같다.
1) config/urls.py
-> include로 지정된 참조 위치로 이동
-> 또는 정의된 path 진행
# config/urls.py
from django.urls import path, include
# http://127.0.0.1:8000/blog/
path('blog/', include('blog.urls')),
2) 지정된 참조 위치 (blog/urls.py) 또는 Config/urls.py 에서 진행
* url이 가리키는 view의 함수를 실행하러 간다.
from django.urls import path
from . import views
app_name = 'blog'
urlpatterns = [
# http://127.0.0.1:8000/blog/
path("", views.index, name="index"),
]
-> 위의 코드로 실행하는 view 함수는 index가 된다.
3) view의 함수가 가리키는 html을 띄워준다.
: render 함수를 이용
: 값을 가져가도록 하려면 json 형식의 context 변수를 정의한 후 함께 보낸다.
from django.shortcuts import render
from .models import Question
def index(request):
# 함께 보낼 context 변수는 json 형식으로 지정
context = {
questions = Question.objects.all()
}
return render(request, "index.html", context)
4) index.html 구성
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Question_List</title>
</head>
<body>
<div>
{% for question in questions %}
<p>{{question.name}}</p>
<p>{{question.position}}</p>
<p>{{question.office}}</p>
<p>{{question.age}}</p>
<p>{{question.startedate}}</p>
<p>{{question.salary}}</p>
{% endfor %}
</div>
</body>
</html>