Django简易用户登入系统示例

Django简易用户登入系统示例

1)添加url和函数的对应关系(urls.py)

复制代码
urlpatterns = [    
    path('login/', views.login),           #login:url路径,views.login:对应的函数
]

2)添加视图函数(views.py)

复制代码
def login(req):
    if req.method == 'GET':                #如果用户的请求类型为GET说明是访问页面,直接返回给用户login.html
        return render(req,'login.html')

    user = req.POST.get('user')            #获取用户名
    password = req.POST.get('password')    #获取密码
    print(user,password)                   #打印用户名密码
    if user=='sally' and password=='123456':            #验证用户名和密码
        welcome_info='Login sucessful! Welcome ' + user + ' to login this system'
        return HttpResponse(welcome_info)               #如果用户名密码验证成功,返回给用户一段欢迎词

    return render(           #如果用户名密码验证失败,返回给用户login.html和一个报错信息
        req,
        'login.html',
        {
            'error_msg':'user or password  is incorrect'
        }
    )

3)创建html文件(login.html)

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
    <h1>用户登入</h1>
    <form method="POST" action="/login/">
        <!--跨站点请求伪造(CSRF)保护,如果没有这行代码,django不会给响应用户请求-->
        {% csrf_token %} 
        
        <input type="text" name="user" placeholder="user">
        <input type="password" name="password" placeholder="password">
        <input type="submit" value="submit">
        <!--用户名或密码错误信息-->
        <span style="color:red">{{error_msg}}<span>
    </form>
</body>
</html>

效果:

登入页面:

登入成功页面:

登入失败页面:

相关推荐
m0_613856293 分钟前
mysql如何使用IF函数_mysql简单二元逻辑转换
jvm·数据库·python
爱喝热水的呀哈喽4 分钟前
5步创建一个有不同numpy scipy版本的python环境
python·numpy·scipy
pele10 分钟前
如何在 Go 项目中安全、高效地共享 MySQL 数据库连接
jvm·数据库·python
qq_3422958214 分钟前
SQL如何用SQL子查询查找最大值对应行_关联主键优化方案
jvm·数据库·python
m0_7436239214 分钟前
golang如何使用iota常量生成器_golang iota常量生成器使用教程
jvm·数据库·python
baidu_3409988214 分钟前
mysql如何排查连接数爆满原因_mysql show processlist分析
jvm·数据库·python
七颗糖很甜21 分钟前
预警!超级厄尔尼诺即将登场:2026-2027年全球气候或迎“极端狂暴模式”
java·大数据·python·算法·github
baidu_3409988222 分钟前
如何用HTML函数工具测试显卡性能_基准跑分详解【详解】
jvm·数据库·python
格林威22 分钟前
面阵相机 vs 线阵相机:堡盟与Basler选型差异全解析 + Python实战演示
开发语言·网络·人工智能·python·数码相机·yolo·工业相机