初识Flask框架流程

初识Flask框架流程

  • Flask项目
    • 组织架构
    • Flask_Sqlalchemy
    • Flask_Login
    • 密码加密
    • 图片上传

Flask项目

Flask是一个比较流行的pythonweb项目框架。这里将一下我第一次使用这个框架时所学习到的一些知识,使用的是python3版本。
Flask使用了模版渲染来让你更轻松的渲染自己的页面,同时被渲染的html页面必须放在templates文件夹下。这个方式也可以传递参数列如:render_template(url,msg=‘你好’)
这里msg就是页面对应的属性

组织架构

结构大概如下:static文件夹,templates文件夹,xxx.config配置文件,manager初始化模块,runserver程序入口
初识Flask框架流程_第1张图片
一个Flask项目包含一个static文件夹和一个templates文件夹。
其中static文件夹内放置的是静态文件,包括css、javascript等
templates文件夹是渲染模版文件夹其中放置的是html等静态网页文件。

从init.py中初始化程序所用的全局变量。以及最重要的Flask框架本体
初识Flask框架流程_第2张图片manager.py中可以通过cmd命令行的方式初始化数据库
命令: python manager.py Init_Database
初识Flask框架流程_第3张图片view.py:
你的逻辑代码都会写在这里。通过@app.route()装饰器或者url_for()来为你的方法生成一个url
初识Flask框架流程_第4张图片这里为Login方法生成了两个url他们分别是http://xxxx:xxxx/和http://xxxx:xxxx/login/
methods指定了这个方法所允许的请求。如果不设置它不会允许post方式。
其他方式请查询api文档
model.py:
这里是你的数据库相关类,由于使用了flask_sqlalchemy框架这里单独说。

Flask_Sqlalchemy

首先需要建立一个model.py,然后在其中编写model类,这些类会继承于SQLAlchemy的model基类。关系的映射可以是双向的和多对多的。
初识Flask框架流程_第5张图片

Flask_Login

使用封装好的login来进行账号的登录和登出管理,使用它时必须对自己的user类型进行改造。
由于需要在自己的基类中实现几个特定的方式。为了方便可以直接继承flask_login的usermixin类
这样就不用自己实现了。
初识Flask框架流程_第6张图片如果要自己实现这些方法可以参考API手册
初识Flask框架流程_第7张图片有几个常用的方法:
login_user(model.user)登陆
登录之后会在程序中生成一个session来记录登录账号的信息,可以通过current_user取出来。
current_user
这里面记录了存入的登录账号的所有信息,只要没有登出在程序中就可以使用这个类进行取值操作不需要从数据库取值。

@login_required
这个装饰器的作用是在访问这个页面之前会判断访问的人员有没有登陆,如果没有则会返回到指定的页面。只需要在方法前加入这个装饰器即可
初识Flask框架流程_第8张图片

密码加密

由于MD5码可以暴力破解,所有在使用的过程中可以通过加入新的字符串来缓解这个问题。
python3自带了一个加密模块他可以进行md5加密,这个库是hashlib

在这里插入图片描述
加密流程
初识Flask框架流程_第9张图片初识Flask框架流程_第10张图片

图片上传

图片上传的前端代码和一般的图片form提交是一致的,这里就不说了。
后端代码:
初识Flask框架流程_第11张图片初识Flask框架流程_第12张图片

你可能感兴趣的:(笔记,Flask初试)