이 기사에서는 버튼을 클릭하면 숫자가 추가되고 탭을 닫고 데이터를 세션에 유지하더라도 계속 그렇게 하는 매우 간단한 카운터 앱을 만드는 방법을 볼 것입니다. 세션을 사용하여 간단한 앱을 만들고 세션을 사용하여 데이터를 전송하는 방법에 대한 아이디어를 얻습니다.
예시
url.py에서 다음 줄을 추가하십시오 -
from django.urls import path
from django.urls.resolvers import URLPattern
from .import views
urlpatterns = [
path('', views.counterView, name='counter'),
] 여기에서 홈 URL에 대한 보기를 설정합니다.
view.py에서 다음 줄을 추가하십시오 -
from django.shortcuts import render # Create your views here. def counterView(request): if request.method == "POST" and 'count' in request.POST: try: request.session['count'] +=1 except: request.session['count'] = 0 elif request.method == 'POST' and 'reset' in request.POST: request.session['count'] = 0 return render(request,'counter.html')
여기에서 POST 요청 핸들러를 만들었습니다. 프론트엔드에서 번호를 보내 세션의 count 변수에 저장합니다. 재설정이 프런트엔드에서 전송되면 세션이 카운트됩니다. 0이 됩니다
이제 템플릿을 만드세요. 앱 디렉토리에 폴더를 만들고 counter.html을 만듭니다. 그 안에 이것을 쓰고 -
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=devicewidth, initial-scale=1.0">
<title>Counter</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/
dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha38
4-
+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyT
G2x" crossorigin="anonymous">
</head>
<body>
<style>
body{
background-color: palevioletred;
}
.counter form .count{
border:none;
outline: none;
background-color:black;
color: white;
}
.counter form .reset{
border:none;
outline: none;
background-color:rgb(50, 181, 204);
}
</style>
<div class="container counter text-center" style="margintop: 150px;">
<h1 class="display-1 text-white">
{% if request.session.count%}
{{request.session.count}}
{%else%}
0
{%endif%}</h1> <br> <br>
<form method="post"> {% csrf_token %}
<button name="count" class="count px-5 py-3 textwhite shadow-lg">Count</button>
</form>
<br> <br>
<form method="post"> {% csrf_token %}
<button name="reset" class="reset px-5 py-3 textwhite shadow-lg">Reset</button>
</form>
</div>
</body>
</html> 다음은 홈 URL에서 렌더링하는 프런트엔드입니다.
출력

카운트 클릭 버튼을 누르면 숫자에 1이 추가되고 재설정 버튼을 클릭하면 재설정됩니다. 카운터 0.