使用Python-Flask框架开发Web网站系列课程(三)登录功能 - 留下点什么从而立之年开始
使用Python-Flask框架开发Web网站系列课程(三)登录功能
前言
使用IDE:PyCharm
操作系统: Mac
Python版本:3.6
我的邮箱:51263921@qq.com
交流群: 372430835
说明:
本次课程github代码在最下面。
本次课程基于上个课程的代码,如果没看过的请先传送:
使用Python-Flask框架开发Web网站系列课程(一)构建项目
使用Python-Flask框架开发Web网站系列课程(二)注册功能
一、登录
本次课程主要实现登录,我们按照实际开发的流程,先看到登录页面,再尝试页面传值(也就是输入账号密码)到服务端,服务端校验和鉴权,并跳转页面。
1.1 增加 backend.account.views 关于登录的代码
全路径:/myproject/backend/account/views.py
1.2 增加html页面文件
全路径:/myproject/frontend/account/login.html
1.3 测试一把
点击login后显示如下的话,表示成功。
{
"password": "abc123",
"username": "admin"
}
1.4 修改backend.account.view 增加鉴权代码
1.4.1 装个包 pip install Flask-Login==0.4.1
1.4.2 修改 /myproject/backend/view.py 注意修改文件的路径
1.4.3 修改/myproject/backend/__init__.py
1.4.4 修改/myproject/backend/account/views.py
这里和之前的区别是增加了鉴权的内容,判断用户名和密码是否为空,判断密码对不对。增加了登出的功能。
1.4.5 调整一下我们的/myproject/backend/models/UserModel.py
增加了鉴权模块需要的东西,知识点可以百度flask_login的user_loader和anonymous_user
1.4.6 增加前端目录和页面
先建文件夹
全路径:/myproject/frontend/base
新增页面html文件layout.html
/myproject/frontend/base/layout.html
内容为:
新增页面html文件index.html
/myproject/frontend/base/index.html
1.4.7 新增后端文件夹和文件
在/myproject/backend/下新增文件夹 admin
全路径: /myproject/backend/admin
在admin下新增__init__.py和views.py
/myproject/backend/admin/__init__.py内容为空
全路径: /myproject/backend/admin/views.py
内容如下:
二、测试登录
访问http://127.0.0.1:10101/admin/
显示内容为,意思就是你没登录,让你点log in:
Overview
Do you want to log in?
点击后跳转页面,到我们一开始做的登录页面,url为http://127.0.0.1:10101/account/login
输入账号密码登录,成功的话跳转回一开始的页面,但是显示内容变了:
- You are now logged in. Welcome back!
Overview
welcome ~ logout
是不是很简单~
三、本课代码
github: https://github.com/lyy8510a/myproject/releases/tag/v3