Computer >> Máy Tính >  >> Lập trình >> Python

Tạo một ứng dụng truy cập đơn giản bằng request.session trong Django

Trong bài viết này, chúng ta sẽ xem cách tạo một ứng dụng bộ đếm siêu đơn giản, trong đó việc nhấp vào một nút sẽ thêm một số và nó sẽ tiếp tục làm điều đó ngay cả khi bạn đóng tab và giữ dữ liệu trong phiên. Chúng tôi sẽ có ý tưởng về việc sử dụng các phiên để tạo một ứng dụng đơn giản và cách truyền dữ liệu bằng các phiên

Ví dụ

Trong urls.py, thêm các dòng sau -

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

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

Tại đây chúng tôi thiết lập các chế độ xem trên url trang chủ.

Trong views.py, thêm các dòng sau -

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')

Ở đây chúng tôi đã tạo một trình xử lý yêu cầu POST, chúng tôi sẽ gửi một số từ giao diện người dùng và lưu nó trong biến đếm của phiên. Khi đặt lại được gửi từ giao diện người dùng, thì phiên sẽ đếm trở thành 0

Bây giờ, hãy tạo một mẫu thư mục trong thư mục ứng dụng và tạo counter.html trong đó và viết cái này -

<!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>

Đây là giao diện người dùng mà chúng tôi đang hiển thị trên url trang chủ.

Đầu ra

Tạo một ứng dụng truy cập đơn giản bằng request.session trong Django

Nhấp vào Đếm sẽ thêm 1 trong số và nhấp vào nút Đặt lại sẽ đặt lại bộ đếm thành 0.