(一) python+Django实现登录页面

2023-10-27

最近因为工作需要,开始捣鼓web框架!

接下来就带大家做一个小项目,方便企业内部数据统计,调查问卷!
一. 操作页

在这里插入图片描述
二.数据填写页
在这里插入图片描述
三.查询页
在这里插入图片描述

  1. 首先我们可以找一个自己喜欢的登录页模板,不怕麻烦的话也可以自己写,我套用的是Bootstrap其中的一个登录模板。有需要可以自己去看一下!

    Bootstrap模板

  2. 模板有了,下面开始创建一个Django项目,有条件的使用的是专业版可以在直接New Project新建一个。
    在这里插入图片描述
    是社区版的就老老实实在命令行执行命令吧,命令如下:

    创建一个项目
    django-admin startproject Djangopjt
    
    同级目录下创建app
    python manage.py startapp app
    


    2.1 把创建好的app添加到setting中
    在这里插入图片描述
    2.2 把templates这个包添加 在这里插入图片描述
    2.3 配置数据库,我这里用的mysql。
    在这里插入图片描述

  3. 项目配置好之后,根据登录需求,在app下的models配置存储需求
    在这里插入图片描述
    3.1 映射数据库(生成数据表)

    python manage.py  makemigrations
    python manage.py  migrate 
    
  4. 数据库有了,下一步写前端,在templates下新建一个login.html
    在这里插入图片描述
    4.1 这里我是套用的模板,就省了很多事。(博主前端太废)

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <title>登录</title>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
        <meta name="description" content="">
        <meta name="author" content="">
    
        <link rel="canonical" href="https://getbootstrap.com/docs/3.4/examples/signin/">
    
        <link href="https://cdn.jsdelivr.net/npm/@bootcss/v3.bootcss.com@1.0.29/dist/css/bootstrap.min.css" rel="stylesheet">
    
        <link href="https://cdn.jsdelivr.net/npm/@bootcss/v3.bootcss.com@1.0.29/assets/css/ie10-viewport-bug-workaround.css" rel="stylesheet">
    
        <link href="https://cdn.jsdelivr.net/npm/@bootcss/v3.bootcss.com@1.0.29/examples/signin/signin.css" rel="stylesheet">
    
        <!--[if lt IE 9]><script src="https://cdn.jsdelivr.net/npm/@bootcss/v3.bootcss.com@1.0.29/assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
        <script src="https://cdn.jsdelivr.net/npm/@bootcss/v3.bootcss.com@1.0.29/assets/js/ie-emulation-modes-warning.js"></script>
    
          <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
          <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    
    
    </head>
    <style>
    
    </style>
    <body class="login" data-admin-utc-offset="0">
    <div class="container">
        <form method= 'post' enctype="multipart/form-data">
            {% csrf_token %}
            <h2 class="form-signin-heading">Please sign in</h2>
            <label for="inputEmail" class="sr-only">Email address</label>
            <input type="text" id="inputUsername" name="usm" class="form-control" placeholder="Username" required="" autofocus="">
            <label for="inputPassword" class="sr-only">Password</label>
            <input type="password" id="inputPassword" name="pwd" class="form-control" placeholder="Password" required="">
            <div class="checkbox">
              <label>
                <input type="checkbox" value="remember-me"> Remember me
              </label>
            </div>
            <button class="btn btn-lg btn-primary btn-block" type="submit" >Sign in</button>
        </form>
        </div>
    <!-- END Container -->
    </body>
    </html>
    
  5. 在views中添加请求参数,配置urls。

    from django.shortcuts import render
    from app.models import Users
    from django.http import HttpResponse
    # Create your views here.
    def login(request):
        if request.method == "POST":
            # 获取用户通过POST提交过来的数据
            usm = request.POST.get('usm')
            pwd = request.POST.get('pwd')
    
            if Users.objects.filter(username=usm):
                if Users.objects.filter(username=usm)[0].password == pwd:
                    return HttpResponse('登录成功')
                else:
                    return HttpResponse('密码错误')
            else:
                HttpResponse('用户不存在')
        return render(request, 'login.html')
    

    5.1 配置urls(实现页面跳转)

    from django.contrib import admin
    from django.urls import path
    from app import views
    urlpatterns = [
      path('admin/', admin.site.urls),
      path('',views.login,name='login')
    ]
    
  6. 实现效果
    在这里插入图片描述
    6.1 登录成功
    在这里插入图片描述
    6.2 密码错误
    在这里插入图片描述

* 后续讲解其他详情页面(以上不懂的可以私信,所有页面讲解完,项目会提交到github上,后面发布clone地址)

本文章若对你有帮助,烦请点赞,收藏,关注支持一下!

各位的支持和认可就是我最大的动力!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(一) python+Django实现登录页面 的相关文章

随机推荐

  • FPGA篇(十二)仿真中 `timesclae的用法

    timescale 1ns 1ps 小实验 timescale 1ns 1ps 前面是刻度 小数点之前 后面是精度 小数点之后 一旦超过了精度 就会四舍五入 modelSim仿真 仿真代码如下所示 timescale 1ns 1ps reg
  • 关于Failed to load plugin ‘vue‘ declared in ‘.eslintrc.js‘: createRequire is not a function报错处理

    今天从git上拉了项目代码 install之后就run dev准备跑项目 突然报错TypeError Failed to load plugin vue declared in eslintrc js createRequire is no
  • 免费HTTP代理怎么样

    现在是信息时代 很多互联网场景比如爬虫信息采集 电商效果补量 网上推广等等 都离不开HTTP代理IP 而很多人第一个想到的就是免费HTTP代理 什么是代理服务器 代理服务器是介于浏览器和Web服务器之间的一台服务器 当你通过代理服务器上网浏
  • 提高机器学习模型性能的五个关键方法

    如何提高机器学习模型性能 可从五个关键方面入手 1 数据预处理 2 特征工程 3 机器学习算法 4 模型集成与融合 5 数据增强 以下是各个方面的具体分析和方法 说明 1 这里主要是各个关键方法的知识汇总梳理 便于集中学习 具体的实际应用内
  • 大数据面试知识点梳理

    1 hadoop是什么 Hadoop是一个由Apache基金会所开发的分布式系统基础架构 主要解决海量数据存储与计算的问题 其中主要包括HDFS MapReduce和Yarn框架 2 HDFS HDFS四大机制 心跳机制 安全机制 机架策略
  • PHP取整,四舍五入取整、向上取整、向下取整、小数截取

    PHP取整数函数常用的四种方法 1 直接取整 舍弃小数 保留整数 intval 2 四舍五入取整 round 3 向上取整 有小数就加1 ceil 4 向下取整 floor 一 intval 对变数转成整数型态 intval如果是字符型的会
  • linux oom日志分析,oom killer理解和日志分析:知识储备

    oom killer日志分析 这是前篇 准备一些基础知识 带着问题看 1 什么是oom killer 他是Linux内核设计的一种机制 在内存不足的会后 选择一个占用内存较大的进程并kill掉这个进程 以满足内存申请的需求 内存不足的时候该
  • composer Ratchet 实验心得

    博客迁移 时空蚂蚁http cui zhbor com 你首先要做的是把自己的PHP升级到5 3以上 需要支持命名空间 简介 Composer是PHP中用来管理依赖关系的工具 你可以在自己的项目中声明所依赖的外部工具库 libraries
  • Webpack5 基本使用和基本配置

    依赖环境 NodeJS 16 前置知识 1 对NodeJS各个核心模块操作有一定认识 比如fs path os等 2 对React和Vue有一定的认识 并且开发过项目 为什么要使用 Webpack5 开发时 我们会使用框架React Vue
  • jquery在线地址,layui在线地址,bootstrap在线地址以及把线上地址保存到本地

    前言 jquery在线地址 layui在线地址 bootstrap在线地址 以及保存到本地 jquery在线地址 3 1 1版本
  • cesium.js官网教程之中文版本~~~~第一篇

    翻译地址 https cesiumjs org tutorials Cesium Workshop 翻译者 嬴渠梁 概述 欢迎来到cesuim社区 很高兴你的到来 为了发展你自己的网络地图应用成为可能 本教程将会从头到尾的介绍一个简单的ce
  • 读书笔记:多Transformer的双向编码器表示法(Bert)-1

    多Transformer的双向编码器表示法 Bidirectional Encoder Representations from Transformers 即Bert 本笔记主要是对谷歌Bert架构的入门学习 介绍Transformer架构
  • Tkinter的下拉列表Combobox

    tk中下拉列表使用ttk Combobox 代码如下 usr bin env python coding utf 8 import tkinter as tk from tkinter import ttk win tk Tk win ti
  • 基于yolov5的车辆行人道路检测

    一 数据集介绍 本实验使用自动驾驶的公开数据集BDD100K 数据格式 BDD100K 数据集包含10万段高清视频 每个视频约40秒 720p 30 fps 总时间超过1 100小时 视频序列还包括GPS位置 IMU数据和时间戳 视频带有由
  • 闭环系统和开环系统的频域性能指标

    文章目录 1 闭环系统的频域性能指标 1 1 带宽 1 2 谐振频率与谐振峰值 2 开环系统的频域性能指标 2 1 穿越频率 2 2 相角裕度 PM 2 3 增益裕度 GM 3 开环的频域性能指标和闭环的频域性能指标的联系 3 1 开环截止
  • Redis主从、集群、哨兵配置应用

    Redis有四种集群模式 第一个就是主从模式 第二种 哨兵 模式 第三种是 Cluster 集群模式 第四种是单例模式 但是基本上只适用于自己练习 接下来我们重点聊一聊前三种模式 一 主从模式 1 主从复制概述 当其中一台服务器更新之后 服
  • JDBC原理及使用步骤

    1 原理 JDBC API 允许用户访问任何形式的表格数据 尤其是存储在关系数据库中的数据 JDBC中主要的设计模式 桥接模式 主要 工厂模式 单例模式 装饰者模式 2 使用步骤 前提 导包
  • 杭师管科python专业课线上笔记(三):2020真题选填题答案及解析(附代码)

    目录 单选 填空 全部代码 程序设计题 注 以下答案仅为个人所做 不代表标准答案 真题word版需要的话可以评论个邮箱 单选 前五道题在2019年真题时也出现了 毕竟是自命题 可能老师也懒得编新花样 所以是可能有机会做到原题的 1 列表a
  • 没有exec的参与,hasPendingConnections、nextPendingConnection等失效。

    没有exec的参与 hasPendingConnections nextPendingConnection等失效
  • (一) python+Django实现登录页面

    最近因为工作需要 开始捣鼓web框架 接下来就带大家做一个小项目 方便企业内部数据统计 调查问卷 一 操作页 二 数据填写页 三 查询页 首先我们可以找一个自己喜欢的登录页模板 不怕麻烦的话也可以自己写 我套用的是Bootstrap其中的一