Django 实现登录功能

基本实现

路由

python 复制代码
from django.urls import path
from . import views

app_name = 'index'
urlpatterns = [
    path('', views.index, name='index'),
    path("login.html/", views.login, name="login"),
]

视图

python 复制代码
from django.shortcuts import render, redirect
from django.views.decorators.csrf import csrf_exempt


def index(request):
    return render(request, "index.html")


def login(request):
    if request.method == "POST":
        username = request.POST.get('username')
        password = request.POST.get('password')
        if username == "zhangdapeng" and password == "zhangdapeng520":
            return redirect("index:index")
    return render(request, "login.html")

模板

登录页面:这个页面中,我们使用csrf生成一个隐藏输入框,这样Django会检测是否为CSRF跨站攻击。然后给出了用户名和密码的输入框,以及一个登录按钮。

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>登录</h1>
<form action="{% url 'index:login' %}" method="post">
    {% csrf_token %}
    <div>
        <label for="username">账号</label>
        <input type="text" id="username" name="username">
    </div>
    <div>
        <label for="password">密码</label>
        <input type="password" id="password" name="password">
    </div>
    <div>
        <button type="submit">登录</button>
    </div>
</form>
</body>
</html>

首页:这个页面非常简单,只需要展示自己是首页即可。

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>首页</h1>
</body>
</html>
相关推荐
yufuu982 分钟前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
qunaa01014 分钟前
YOLOv26家具物品检测实战:基于Python和OpenCV实现家具识别系统
python·opencv·yolo
夕阳之后的黑夜14 分钟前
Python脚本:为PDF批量添加水印
开发语言·python·pdf
2401_8414956417 分钟前
【LeetCode刷题】LRU缓存
数据结构·python·算法·leetcode·缓存·lru缓存·查找
2401_8414956418 分钟前
【数据挖掘】Apriori算法
python·算法·数据挖掘·数据集·关联规则挖掘·关联规则·频繁项集挖掘
棒棒的皮皮26 分钟前
【OpenCV】Python图像处理之查找并绘制轮廓
图像处理·python·opencv·计算机视觉
无名修道院28 分钟前
AI大模型应用开发-用 MySQL 存储简单数据,用 Python 操作数据库
数据库·python·mysql·ai大模型应用开发
xianrenli3832 分钟前
python版本配置
开发语言·python
啵啵鱼爱吃小猫咪36 分钟前
机器人标准DH(SDH)与改进DH(MDH)
开发语言·人工智能·python·学习·算法·机器人
工程师老罗38 分钟前
DataLoader的用法
人工智能·python