Flask框架
文章平均质量分 50
python小明
bug虐我千百遍,我待bug如初恋!
展开
-
Flask入门学习视频及源码
可以跟着视频学习,也可以参考本人学习笔记:flask学习笔记源码及视频:链接:https://pan.baidu.com/s/1SkeB8O-PuHYf1Gb56uFduw提取码:qb7e资源太大的话,只要源码点这里:源码原创 2021-07-22 15:10:38 · 186 阅读 · 0 评论 -
Flask框架学习笔记23-实战(7):(博客管理)Web测试
之前我们已经基本学会了如何进行单元测试,这次我们来看看如何进行Web测试,Web测试对于项目的迭代是必不可少的。这里我们使用集成测试框架Selenium来实现Web测试。1、安装依赖包pip2 install Selenium2、新建login_page.py,将方法封装tests/login_page.pyclass LoginPage(object): client = None def __init__(self,c): self.client = c原创 2021-07-22 14:02:35 · 177 阅读 · 0 评论 -
Flask框架学习笔记22-实战(6):(博客管理)单元测试
造车造完了当然需要对性能等等进行测试,当然我们编程也是一样,也需要对程序进行测试。当然,测试是一个很庞大的工程,我这里只是对自己的程序进行一个简单的单元测试。python中已经存在一个用来测试的标准库unittest,我们直接用。1、在tests文件夹中新建test_models.py用来对模型进行测试2、更改配置,将app/init.py中的配置修改,配置在config.py中config.py# -*- coding:utf-8 -*-import osbasedir = os.原创 2021-07-22 11:03:30 · 172 阅读 · 0 评论 -
Flask框架学习笔记21-实战(5):(博客管理)网页全球化
现在网站功能基本齐全,当然现在的网络越来越发达,我们的网站不止是有我们自己看,还有别的人浏览,当然还有歪果仁,所以我们就需要对项目进行配置,从而使得我们的项目能够实现全球化,更加方便外人来浏览。(其实说白了就是类似对项目的一个翻译)所以本次我们使用python的另一个插件来实现全球化功能。当然,这一部分功能可以选择不实现,只是一个可选项而已1、安装依赖包pip2 install Flask-babel2、实例化、注册该插件,并进行配置app/init.py# -*- coding:utf-8原创 2021-07-21 18:12:31 · 201 阅读 · 0 评论 -
Flask框架学习笔记20-实战(4):(博客管理)数据伪装与分页
在进行测试的过程中,有可能我们需要大量的数据来进行测试,以便防止后续项目中出现未知的bug。添加数据有很多方式,编写sql脚本添加,使用客户化工具navicat添加等,但是这都是在添加的数据量比较小的情况下使用这些方法的。当我们需要大量的数据时,我们就希望能够自动生成一些假的数据,以便我们用来测试,这就是当前我们所说的数据伪装。python中有一个第三方依赖,可以用来快速生成大量的数据用来进行数据伪装。一、数据伪装1、安装依赖pip2 install forgerypy2、定义数据伪装视图man原创 2021-07-21 16:36:17 · 271 阅读 · 0 评论 -
Flask框架学习笔记19-实战(3):(博客管理)帖子与评论
之前我们已经完成了博客管理项目的搭建,同时我们也实现了用户的登录与注册模块的设计,现在我们就可以来实现项目中的发帖和评论模块的功能了。与一般的思路完全相同,第一步建立模型类,实现与数据库的交互;第二步编写视图函数,实现后端逻辑功能,将数据数据处理后传入前端;第三步创建前端模板,对数据进行渲染,最后进行展示。1、创建模型类(帖子模型与评论模型),并创建form类models.py#定义帖子类class Post(db.Model): __tablename__ = 'posts' i原创 2021-07-16 10:18:59 · 325 阅读 · 0 评论 -
Flask框架学习笔记18-实战(2):(博客管理)用户登陆与注册
前面我们已经把项目进行了重构,并且搭建了蓝图,下面我们来正式开发我们的博客管理系统。首先来开发我们的用户登陆和注册模块。1、定义ORM关系映射模型类auth/forms.py#导入校验器from wtforms.validators import DataRequired, EqualTo, Email, Regexp,Length#定义注册表单类class RegistrationForm(Form): # 用户名 username = StringField(u'用户名',原创 2021-07-15 16:47:16 · 225 阅读 · 0 评论 -
Flask框架学习笔记17-实战(1):(博客管理)项目组织与蓝图
由之前的学习,我们已经了解了flask是如何来创建一个项目,怎样使用模板,以及如何连接数据库和操作数据库。下面我们就直接来进行实战,利用flask来做一个博客管理系统。下面我们将之前的这个项目进行整合,使用蓝图将项目重新划分下。类似于将该项目分为不同的模块一样导入蓝图,重构项目目录结构:|-1级目录 |-二级目录 |-三级目录 |-四级目录目录如下:|-Sample| |-app| | |-auth| | | |-__init__.py| | | |-forms.原创 2021-07-08 17:30:29 · 185 阅读 · 0 评论 -
Flask框架学习笔记16-数据合并
上节我们已经学会了如何来在flask中对数据库中的数据进行操作,但是我们发现这种方法很是复杂,每次需要操作一次一条数据时,都需要在shell中写一条命令来实现。那在实际开发过程中这样是很不方便的,尤其是数据库中的数据相当多的情况下,这种操作方式是更不可能实现的,所以我们就需要使用事务以及事件的来实现了。1、定义插入数据的静态方法models.py#定义用户角色模型类class Role(db.Model): __tablename__ = 'roles' id = db.Colum原创 2021-07-08 16:16:41 · 292 阅读 · 0 评论 -
Flask框架学习笔记15-数据操作
既然需要操作数据,那么就需要连接数据库来进行操作了。1、进入Terminal,输入:python manager.py shell,进入shell环境。2、创建数据库:shell:from app import dbfrom app import modelsdb.create_all()3、使用pycharm自带的可视化连接插件连接数据库可以点击同步,这样就可以看到数据库中的表了3、添加数据(role)shell:from app.models import Role,Us原创 2021-07-07 15:58:55 · 211 阅读 · 2 评论 -
Flask框架学习笔记14-项目重构(目录整合)
之前我们为了方便将几乎所有的内容都放进了app.py中,这就导致了,我们的代码乱七八糟的,导入包,视图,配置,模型类等全部在一个文件中,很不方便,于是乎,为了统一化管理,我们对该项目进行重构。项目目录结构目录结构:|-1级目录 |-二级目录 |-三级目录 |-四级目录目录如下:|-Sample| |-app| | |-static| | | |-css| | | |-fonts| | | |-js| | | |-jquery.js| | | |-jquery.min.原创 2021-07-07 14:33:44 · 312 阅读 · 2 评论 -
Flask框架学习笔记13-数据库连接(sqlite)
既然是项目的话,那肯定就会有数据,而在一般开发过程中都会把项目放在数据库中,数据库有很多,有关系型数据库,也有非关系型数据库,flask都是可以连接的,具体选择的话视情况而定。下面来连接sqlite数据库,这是一个文本型数据库,不需要下载本地客户端来进行连接。1、下载安装依赖包pip install flask-sqlalchemy2、获取当前项目的绝对路径apppy#获取绝对路径basedir = path.abspath(path.dirname(__file__))3、对当前的app进原创 2021-07-07 11:26:57 · 1088 阅读 · 0 评论 -
Flask框架学习笔记12-导入Form表单
在开发过程中我们需要用到很多Form表单来提交我们所输入的数据,如果这些表单都用手写的话,那代码量将会很庞大。所以我们这次来导入模板中的表单。1、安装依赖包:Flask-WTF==0.122、利用登陆界面来演示。新建forms.py,定义form表单类form.py# -*- coding:utf-8 -*-#导入 form类from flask_wtf import Form#导入字段类型from wtforms import StringField, PasswordField,Su原创 2021-07-02 17:17:48 · 842 阅读 · 1 评论 -
Flask框架学习笔记11-导入前端框架Bootstrap
前面我们的项目已经创建好了,也可以继承模板了,相当不错。但是,有没有发现,我们继承的模板是我们自己创建的,没有好看的界面,也没有炫丽的组件,就一个空白HTML文档,那继承了还不如不继承,对不对。于是乎,我们就想到了有没有人家写好的模板,我可以直接拿来用,这样就会节省我们大量的时间和开发成本。这个问题早都有人解决了,那就是使用前端框架来完成。因为前端是一个相当庞大的知识体系,对于我这样的后端开发人员嘛,了解就好,以后有机会再系统学习,现在我们就来了解下如何来使用前端框架—Bootstrap。至于Bootst原创 2021-07-01 17:07:57 · 733 阅读 · 2 评论 -
导入bootstrap框架时报错:Unresolved template reference
1、警告PyCharm中开发Python Flask使用BootStrap模板, 继承模板时{% extends “bootstrap/base.html” %}和{% import “bootstrap/wtf.html” as wtf %},出现如下警告:2、解决警告原因是解析不到模板的指向。虽然程序可以正常运行,消除警告的方法是手动为PyCharm指定存放模板文件的目录。一般我们会将模板统一放进templates文件夹,所以选中存放模板文件的文件夹(templates)再点击Templates原创 2021-07-01 15:57:01 · 1495 阅读 · 0 评论 -
Flask框架学习笔记10-jinjia2模板继承实例
前面我们已经学习过了jinjia2模板语言,可以发现,使用模板可以大大减少我们开发过程中编写前端页面的代码量,节省开发成本以及时间。jinjia2最常用也是最强大的功能就是模板继承了,下面我们来通过实例来进一步学习如何来进行模板继承。1、模板既然叫做模板继承,那首先得有模板,不然怎么继承,就跟面向对象中的继承类似,首先得有父类(基类),不然怎么谈继承。所以我们先来制作一个模板,以便后续的子页面来继承。jinjia2使用关键字block来定义模板中子页面可以重写的块,基本语法是:写法一:{% bloc原创 2021-06-30 15:21:55 · 872 阅读 · 0 评论 -
Flask框架学习笔记9-jinjia2模板语言
Jinja2 是一个现代的,设计者友好的,仿照 Django 模板的 Python 模板语言。 它速度快,被广泛使用,并且提供了可选的沙箱模板执行环境保证安全。jinjia2的特点:强大的 HTML 自动转义系统保护系统免受 XSS模板继承及时编译最优的 python 代码可选提前编译模板的时间易于调试。异常的行数直接指向模板中的对应行。可配置的语法jinjia2被叫做模板语言,又称为块语言,因为它的语法是以块为基础的,其中有两种元素,一种是变量,使用“{{ xxx }}”表示,另一原创 2021-06-28 22:34:34 · 1279 阅读 · 2 评论 -
Flask框架学习笔记8-模板以及过滤器的使用
之前我们已经完成了flask项目跳转至我们自定义的页面,但是我们发现页面需要自己创建。在开发过程中,页面少的话还无所谓,一旦页面多了的话,那将会耗费很大的一部分开发时间,所以想要写很少的代码量,实现很多的页面,那就需要使用模板了。一、jinjia2简介flask框架是自带jinjia2模板引擎的,那什么是jinjia2呢?Jinja2是基于python的模板引擎,功能比较类似于于PHP的smarty,J2ee的Freemarker和velocity。 它能完全支持unicode,并具有集成的沙箱执行原创 2021-06-28 00:15:36 · 265 阅读 · 0 评论 -
Flask框架学习笔记7-导出和导入项目依赖包
在进行Python编程时,我们往往需要导入很多依赖包来帮助我们快速的进行开发,在项目迁移或者拷贝过程中,我们也得需要知道该项目所使用的依赖包,即我们所说的运行环境,下面是如何将原项目的以来包导入requirements.txt文件中。1、在pycharm中打开本项目的Terminal,进入本项目的虚拟环境,要确保是本项目的虚拟环境否则就会导出别的项目的虚拟环境。这里是我这个项目的虚拟环境,如果不是该项目的虚拟环境,可以进入设置里更改进入settings,进行选择虚拟环境,选好之后点击apply即可原创 2021-06-27 22:27:45 · 1797 阅读 · 0 评论 -
Flask框架学习笔记6-文件上传
前面已经搭建了简单的flask项目,下面我们进行文件上传功能的配置。1、在static文件夹中新建文件夹uploads文件夹,上传的文件就存储在这个文件夹中,然后新建upload.html文件用来上传文件。upload.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>文件上传</title></head&g原创 2021-06-27 01:14:30 · 227 阅读 · 1 评论 -
Flask框架学习笔记5-实现登陆页面以及数据回传
下面我们来实现登陆1、在templates文件夹中新建login页面用于登陆login.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>登陆</title></head><body> <h1> HTTP方法:{{ method }}</h1> &l原创 2021-06-27 00:32:06 · 523 阅读 · 1 评论 -
Flask框架学习笔记4-配置页面自动进行刷新
之前我们已经可以搭建一个简单的页面了,但是每次我们需要修改后端或者前段页面的代码后,想要立即在浏览器看到我们所修改的效果,就得重新启动项目并刷新页面,这样在后续大规模开发过程中相当麻烦,所以这里我们来配置修改代码后,页面自动进行更新,不需要我们手动操作。1、从第三方库flask_script导入Manager类,并进行配置app.pyfrom flask import Flask,render_templatefrom werkzeug.routing import BaseConverter原创 2021-06-26 23:46:28 · 3592 阅读 · 2 评论 -
Flask框架学习笔记3-配置动态路由页面以及符合正则表达式路由
上节我们搭建了最简单的flask项目,也成功测试了项目可以运行,但是我们仅仅配置了静态路由,即一个路由一个页面,下面我们来配置动态路由1、在app.py中新建user路由与处理函数from flask import Flask,render_templateapp = Flask(__name__)@app.route('/')def hello_world(): return render_template('index.html',data='welcome to china!')原创 2021-06-26 23:24:54 · 547 阅读 · 1 评论 -
Flask框架学习笔记2-搭建最简单的web应用
1、修改之前创建的flask代码2、启动该项目3、浏览器中查看这样一个最简单的web项目就创建完成了下面我们需要自己的项目跳转到我们自定义的页面。4、在templates文件夹中创建HTML页面index.html5、修改app.py,导入render_template在这里插入代码片...原创 2021-06-26 22:11:46 · 431 阅读 · 6 评论 -
Flask框架学习笔记1-Flask项目创建
1、打开集成开发环境编译器Pycharm,选择新建项目New Project2、选择Flask项目,并设置flask项目的名称3、设置Flask项目的运行时的虚拟环境,我这里选择的是Python2.7(前提是本机中已经安装好的Python环境,没有的话需要安装Python环境),设置好后点击create,一个Flask项目就创建成功了。4、创建好后就会自动生成该项目的启动文件,运行并测试。5、浏览器打开该地址6、查看结果,说明项目创建成功。...原创 2021-06-26 20:24:16 · 631 阅读 · 0 评论