当前位置: 首页 > article >正文

Django 初学小案例:用户登录

1.编写urls.py文件与views.py文件

具体代码如下

urls.py:

from app01 import views  其中的app01替换为你自己的app名称

from django.contrib import admin
from django.urls import path

from app01 import views

urlpatterns = [

    path("login/", views.login)
]

 views.py:

from django.shortcuts import render,HttpResponse,redirect


def login(request):
    if request.method == "GET":
        return render(request,"login.html")
    else:
        print(request.POST)
        username = request.POST.get("user")
        password = request.POST.get("pwd")
        if username == 'toms' and password == '12346':
            return redirect("https://www.chinaunicom.com/")

        return render(request,'login.html',{"error_msg":"用户名或密码错误"})

代码功能:

  1. GET 请求:

    • 当用户访问登录页面时(GET 请求),返回 login.html 模板,显示登录表单。

  2. POST 请求:

    • 当用户提交登录表单时(POST 请求),获取表单中的用户名 (user) 和密码 (pwd)。

    • 检查用户名是否为 "toms" 且密码是否为 "12346"

      • 如果正确,重定向到 https://www.chinaunicom.com/

      • 如果错误,返回 login.html 并显示错误信息 "用户名或密码错误"

2.创建login.html文件

 

login.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>用户登录</h1>

<form method="post" action="/login/">

    {% csrf_token %}
    <input type="text" name="user" placeholder="用户名">
    <input type="password" name="pwd" placeholder="密码">
    <input type="submit" value="提交"/>
    <span style="color: red;">{{ error_msg }}</span>
</form>

</body>
</html>

3.实现效果

当输入错误密码时

返回

当输入正确账号密码时,返回我们编写代码时填的网址

学习:【最新Python的web开发全家桶(django+前端+数据库)-哔哩哔哩】 https://b23.tv/BL4jsIv


http://www.kler.cn/a/543343.html

相关文章:

  • U3D游戏开发之自制文本工具类
  • Linux之kernel(1)系统基础理论(2)
  • 基于改进型灰狼优化算法(GWO)的无人机路径规划
  • 在CT107D单片机综合训练平台上实现外部中断控制LED闪烁
  • 【C#零基础从入门到精通】(九)——C#if和Switch判断语句详解
  • vcredist_x64.exe 是 Microsoft Visual C++ Redistributable 的 64 位版本
  • ffmpeg -pix_fmts
  • 介绍几款免费的显示器辅助工具!
  • Linux虚拟机克隆
  • 【登录认证】
  • 异步加载和协程+Unity特殊文件夹
  • 不小心删除服务[null]后,git bash出现错误
  • Kimi-1.5与DeepSeek-R1:谁是AI推理的王者?
  • 脉冲当量含义
  • HCIA项目实践--静态路由的拓展配置
  • 【优选算法】DC-Quicksort-Mysteries:分治-快排的算法之迷
  • 利用公共无标签数据:基于 Frangi 滤波器的预训练网络用于 3D 脑血管分割 |文献速递-医学影像人工智能进展
  • 数据结构——【二叉树模版】
  • QML的属性绑定
  • Streamlit快速构建大模型前端框架
  • ArcGIS基础知识之ArcMap基础设置——ArcMap选项:常规选项卡设置及作用
  • 计算机毕业设计SpringBoot校园二手交易小程序 校园二手交易平台(websocket消息推送+云存储+双端+数据统计)(源码+文档+运行视频+讲解视频)
  • 2024主流Web框架横向对比:Gin、Laravel、ThinkPHP、Spring Boot及更多框架的选型指南
  • 二、数据类型、运算符
  • 使用DeepSeek R1打造私有化AI助手
  • 安科瑞光伏发电防逆流解决方案——守护电网安全,提升能源效率