Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

สร้างแอปตัวนับอย่างง่ายโดยใช้ request.session ใน Django


ในบทความนี้ เราจะมาดูวิธีการสร้างแอปตัวนับที่ง่ายสุดๆ โดยที่การคลิกปุ่มจะเพิ่มตัวเลขและจะทำต่อไปแม้ว่าคุณจะปิดแท็บและเก็บข้อมูลไว้ในเซสชันก็ตาม เราจะได้แนวคิดในการใช้ session เพื่อสร้างแอพง่ายๆ และวิธีถ่ายโอนข้อมูลโดยใช้ sessions

ตัวอย่าง

ใน urls.py เพิ่มบรรทัดต่อไปนี้ −

from django.urls import path
from django.urls.resolvers import URLPattern
from .import views

urlpatterns = [
   path('', views.counterView, name='counter'),
]

ที่นี่เราตั้งค่าการดูใน URL หน้าแรก

ใน views.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 เราจะส่งตัวเลขจากส่วนหน้าและบันทึกไว้ในตัวแปรการนับของเซสชัน เมื่อรีเซ็ตถูกส่งจากฟรอนท์เอนด์ จากนั้นเซสชันนับ กลายเป็น 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

ผลลัพธ์

สร้างแอปตัวนับอย่างง่ายโดยใช้ request.session ใน Django

คลิก นับ ปุ่มจะเพิ่ม 1 ในตัวเลขและคลิกปุ่มรีเซ็ตจะรีเซ็ต ตัวนับเป็น 0