广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Django实现简单登录的示例代码
  • 295
分享到

Django实现简单登录的示例代码

2024-04-02 19:04:59 295人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录创建Django项目使用模型的url.py加载静态文件页面跳转创建数据库模型提交表单提交ajax提交创建djanGo项目 创建项目的命令行语句: django-admin st

创建djanGo项目

创建项目的命令行语句: django-admin startproject newsManage

将templates文件放在模板里面,会显得更简洁一些,所以我就先创建模板啦。

命令行语句:django-admin startapp newsModel

创建好模型把模型名加到setting文件下 INSTALLED_APPS 里面 , 不然到时候会报错说找不到的

创建templates目录,来存放htmljsCSS等文件,在setting文件下 TEMPLATES 配置templates的文件路径 'DIRS': [os.path.join(BASE_DIR, 'templates')],

最后大致的目录结构就是这样了

使用模型的url.py

创建项目的时候会自带一个urls.py文件,是用来配置路径的,都写在一个urls里面会显得比较乱,放在模板里面就完美的解决了这个问题

路径:newsManage/newsManage/urls.py


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('newsModel.urls'))
]

在newsModel模板下创建urls.py文件 路径:newsManage/newsModel/urls.py


from django.urls import path
from . import views

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

路径:newsManage/newsModel/views.py


def login(request):
    return render(request, 'login.html')

在templates下创建login.html文件,然后写登录页面(用模板也太香了吧)
运行启动服务器 python manage.py runserver

加载静态文件

static就是放静态文件的像 css,js 加载静态文件也需要配置,setting最后一行加上


STATICFILES_DIRS = [     os.path.join(BASE_DIR, "static") ]

在html里面引用,需要在前面加上{% load static %}
然后就可以引用了 <link href="{% static 'css/style.css' %}" rel="external nofollow" rel="stylesheet">

页面跳转


path('/reGISter', views.register, name='register')

像上面这个注册的url,可以通过路径 或者 name 跳转


<a class="text-primary" href="{% url 'register' %}" rel="external nofollow" >Sign up</a>

点击这个链接就可以跳转到注册页面啦

创建数据库模型

在 newsManage/newsManage/init.py 配置pyMysql, 没有下载的话需要去下载pymysql


import pymysql
pymysql.install_as_MySQLdb()

路径:newsManage/newsModel/models.py(类名就是表名)


class user(models.Model):
    username = models.CharField(max_length=30)
    passWord = models.CharField(max_length=30)
    email = models.EmailField(unique=True, blank=False)

运行命令行,生成表结构


Python manage.py migrate
python manage.py makemigrations
python manage.py migrate newsModel

数据库的表名就是 模型名_类名( newsModel_user )
admin/ 路径是可以直接在浏览器上操作数据库的

提交

表单提交

后台判断登录是否成功


def toLogin(request):
    if request.method == 'POST':
        username = request.POST.get("username")
        password = request.POST.get("password")
        users = user.objects.all()
        for u in users:
            if u.username == username and u.password == password:
                return redirect("home")
        context = {"msg": "用户名或密码错误!"}
        return render(request, "login.html", context)

ajax提交


data = eval("(" + data + ")"); 灰常重要,记得转换一下,不然取不到,但好像别人不用转也可以。。。。
$.ajax({
    type: 'POST',
    url: "{% url 'toLoginByAjax' %}",
    data: {
        'username': $("#username").val(),
        'password': $("#password").val()
    },
    dataType: 'text',
    success: function (data) {
        data = eval("(" + data + ")");
        if (data.code == 0){
            window.location.href = "{% url 'home' %}"
        } else {
            $(".msg").html(data.msg);
                setTimeout(function(){//定时器
                $(".msg").css("display","none");//将图片的display属性设置为none
            },3000);//设置三千毫秒即3秒
        }
    },
    error: function () {
        console.log("somewhere is wrong")
    }
  })  

def toLoginByAjax(request):
    username = request.POST.get("username")
    password = request.POST.get("password")
    users = user.objects.all()
    for u in users:
        if u.username == username and u.password == password:
            message = {"code": 0, "msg": "登陆成功!"}
            return JSONResponse(message)
    message = {"code": 400, "msg": "登陆失败,用户名或密码错误!"}
    return JsonResponse(message)

就可以成功登录到主页(home.html)啦! 🤸🏻‍♀️🤸🏻‍♀️🤸🏻‍♀️

到此这篇关于Django实现简单登录的示例代码的文章就介绍到这了,更多相关Django 登录内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Django实现简单登录的示例代码

本文链接: https://www.lsjlt.com/news/156449.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Django实现简单登录的示例代码
    目录创建django项目使用模型的url.py加载静态文件页面跳转创建数据库模型提交表单提交ajax提交创建django项目 创建项目的命令行语句: django-admin st...
    99+
    2022-11-12
  • springboot简单实现单点登录的示例代码
    什么是单点登录就不用再说了,今天通过自定义sessionId来实现它,想了解的可以参考https://www.xuxueli.com/xxl-sso/ 讲一下大概的实现思路吧:这里有...
    99+
    2022-11-12
  • django+vue实现注册登录的示例代码
    注册 前台利用vue中的axios进行传值,将获取到的账号密码以form表单的形式发送给后台。 form表单的作用就是采集数据,也就是在前台页面中获取用户输入的值。numberVa...
    99+
    2022-11-12
  • React实现登录表单的示例代码
    作为一个Vue用户,是时候扩展一下React了,从引入antd、配置less、router,终于实现了一个简单的登录表单。 代码如下: import React from 'r...
    99+
    2022-11-12
  • Python+Django实现简单HelloWord网页的示例代码
    目录安装Django创建Django项目默认文件创建APP实现简单HelloWord网页启动django项目安装Django 使用anaconda在python环境中安装django...
    99+
    2022-11-10
  • Django如何实现简单登录
    这篇文章主要为大家展示了“Django如何实现简单登录”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Django如何实现简单登录”这篇文章吧。创建django项目创建项目的命令行语句: djan...
    99+
    2023-06-25
  • 基于ASP.NET实现单点登录(SSO)的示例代码
    目录背景逻辑分析代码实现Service总结背景 先上个图,看一下效果: SSO英文全称Single Sign On(单点登录)。SSO是在多个应用系统中,用户只需要登录一次就可以访...
    99+
    2022-11-13
  • SpringBoot整合Keycloak实现单点登录的示例代码
    目录1. 搭建Keycloak服务器2. 配置权限2.1. 登陆2.2. 创建Realm2.3. 创建用户2.4. 创建客户端2.5. 创建角色2.6. 配置用户角色关系2.7. 配...
    99+
    2022-11-13
  • SpringBoot实现扫码登录的示例代码
    目录一、首先咱们需要一张表二、角色都有哪些三、接口都需要哪些?四、步骤五、疯狂贴代码Spring Boot中操作WebSocket最近有个项目涉及到websocket实现扫码登录,看...
    99+
    2022-11-13
  • SpringBoot实现token登录的示例代码
    为什么引入token机制 在进行登录验证时,我们需要session或cookie会话进行验证,客户端包括浏览器、app、微信小程序、公众号,只有浏览器有session和cookie机...
    99+
    2022-11-13
  • Android实现微信登录的示例代码
    目录一、布局界面二、MainActivity.java微信登录的实现与qq登录类似。不过微信登录比较麻烦,需要拿到开发者资质认证,花300块钱,然后应用的话还得有官网之类的,就是比较...
    99+
    2022-11-12
  • Redis实现登录注册的示例代码
    目录1. 引言2. 流程图及代码实现2.1 生成验证码保存到Redis2.2 登录验证2.3 请求拦截器3. 总结1. 引言 在传统的项目中,用户登录成功,将用户信息保存在sessi...
    99+
    2022-11-13
  • nestjs实现图形校验和单点登录的示例代码
    目录实现图形校验和单点登录前置条件安装Moduleservice如何生成图形验证码如何使用 session接入 mongose实现图形校验和单点登录 效果图 前置条件 学习一下 n...
    99+
    2023-05-20
    nestjs 图形校验 nestjs 单点登录
  • springboot扫码登录的简单实现
    目录前言项目简介实现思路实现步骤前言 本文将介绍基于SpringBoot + Vue + Android实现的扫码登录demo的总体思路,完整代码已上传到GitHub。Web端体验地...
    99+
    2022-11-12
  • 基于Java实现扫码登录的示例代码
    目录基本介绍原理解析1. 身份认证机制2. 流程概述代码实现1. 环境准备2. 主要依赖3. 生成二维码4. 扫描二维码5. 确认登录6. PC 端轮询7. 拦截器配置效果演示1. ...
    99+
    2022-11-13
  • uniapp实现钉钉扫码登录示例代码
    由于uniapp暂无钉钉授权登录所以本文将钉钉扫码登录作为网页嵌入uniapp,最终实现钉钉扫码登录app 1. 用H5调起钉钉扫码登录 钉钉在网页端的扫码登录可参考钉钉文档:扫码登...
    99+
    2022-11-12
  • java 实现简单圣诞树的示例代码
    以下是一个简单的Java代码示例,实现了一个简单的圣诞树的打印功能:```javapublic class ChristmasTre...
    99+
    2023-09-16
    java
  • python实现socket简单通信的示例代码
    首先先来简单介绍下socket: (具体更详细介绍的可以在网上找找,都讲得非常详细),这里主要是我自己的一些理解。 socket是在应用层与传输层之间的一个抽象层,它的本质是编程接...
    99+
    2022-11-12
  • java实现简单圣诞树的示例代码
    以下是一个简单的Java示例代码,实现了一个基本的圣诞树打印功能:```javapublic class ChristmasTree...
    99+
    2023-09-17
    Java
  • Redis实现短信验证码登录的示例代码
    目录效果图pom.xmlapplicatoin.ymlRedis配置类controllerserviceImplmapper效果图 发送验证码 输入手机号、密码以及验证码完成登录操作 pom.xml 核心依赖 <...
    99+
    2022-06-13
    Redis短信验证码登录 Redis验证码登录 Redis短信验证码
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作