flask笔记(一)
1、第一个flask项目
# 首先你要安装flask这个模块
pip install flask
# 安装好了之后,直接新建一个py文件,开始写最简单的flask项目了
from flask import Flask
app = Flask(__name__)
@app.router("/")
def index():
return "helle flask"
if __name__ == "__main__":
app.run()
# 开始flask的两种方式
# 方式一:直接右键鼠标,再点击运行这个py文件
# 方式二:cmd进入到当前的目录,执行 python py文件
2、Flask 和 Django的不同之处
'''
在python中,较出名的就是django和flask了
一说到django,大家都知道这是一个重量级的框架,flask呢就是一个轻量级的框架
django这个框架为我们准备了什么?(意思是不需要安装插件就能供我们使用,只写几点)
1、orm
2、模板语言
3、uwsgi
4、用户验证
5、邮件
6、缓存机制
7、admin后台管理系统
8、....
而flask呢:
1、werkzeug
2、jiaja2
3、...
看了上面两个对比,就是应该知道为什么了吧,虽然flask自身提供的较少,但是flask有不少的插件供我们使用。
django优点:能快速的搭建一个大一点的项目,很多配置都帮你已经配置好了
缺点:可扩展性较flask而言差,比如orm必须用django的
flask优点:flask比较灵活,扩展性好,可随自己需求使用插件,适合快速搭建小一点的项目
缺点:写起来较复杂,因为很多需要自己去完善功能
不管是flask,django或者大部分其他web框架,都为你写好了符合wsgi协议的服务器,所以说我们使用框架不必再去关心客户端和服务端之间的通信了,只需专注于业务逻辑上的发开。
'''
3、Flask框架中一些参数的解释(基于上面的1)
# 直接copy上面的代码吧
from flask import Flask
app = Flask(__name__)
@app.router("/")
def index():
return "helle flask"
if __name__ == "__main__":
app.run()
from flask import Flask 中的 Flask就是一个类。
app = Flask(__name__) 生成一个Flask的对象名为app,这就是类的实例化我们去看看Flask需要传什么参数
import_name,static_url_path=None,static_folder='static' ,template_folder='templates',可以发现
就一个位置参数,其他的都是关键字参数,这些关键字参数都是有默认值的,所以我们传的参数__name__肯定
是传给了import_name了。
import_name看名字大概意思是导入的名字,那么我们__name__的值是__main__对吧,因为当前这个py文件就是启动文件,flaks它会以当前模块所在的目录为总目录,如果当前这个模块不存在的话,那么就会以当前文件所在的目录为总目录。有什么用呢?再看后面
static_filder='static' 意思是静态文件存放的目录应该为static文件夹
template_folder='templates'意思是模板文件存放的目录应该为templates文件夹
当然静态文件目录和模板文件目录你都可以修改,但是一般不会改,你改了的话,万一别人看你的项目会懵逼
static_url_path=None它的作用就是浏览器访问静态文件的路径,这里的值为None,你可以在浏览器中输入
127.0.0.1:8000/static/文件名 flask默认端口号我忘记了,就写django的吧
如果你改为这样static_url_path=flask 那么你访问静态文件的url为 127.0.0.1:8000/flask/文件名
我们可以知道app就是一个Flask对象,再看下面这段代码
@app.router("/")
def index():
return "helle flask"
# 在django中我们写路由关系是在app中的urls写好路径和视图函数的映射关系
# 在flask也是有路径和视图函数的映射关系的,它就是通过上面这段代码实现,通过装饰器实现,具体后面再说
# 那么我们访问127.0.0.1:8000/这个url 便会映射到index这个函数
app.run() 这就是开始我们flask项目的命令
run()就是Flask对象一个方法了,它可以传一些参数,比如ip,端口,是否开启DEBUG模式等...
好了,今天更新就结束了,虽然知识点少,好歹也是一字一句的写下来,好梦!!
flask笔记(一)的更多相关文章
- flask笔记(三)Flask 添加登陆验证装饰器报错,及解析
Flask 添加登陆验证装饰器报错,及解析 写这个之前,是想到一个需求,这个是关于之前写Flask笔记(二)中的一个知识点,路由相关 需求为 : 有一些页面必须是登陆之后才能访问的,比如Shoppin ...
- Flask笔记1
Flask笔记 首先明确一下,要运行一个动态网页,我们需要 一个 Web 服务器来监听并响应请求,如果请求的是静态文件它就直接将其返回,如果是动态 url 它就将请求转交给 Web 应用. 一个 We ...
- Flask笔记:RESTful
RESTful是用于前台和后端进行通信的一种规范或者说一种风格,采用的是HTTP和HTTPS协议,数据传输的格式使用的都是JSON,而不是XML.通常,RESTful的URL中只有名词,没有动词,而且 ...
- Flask笔记(一)
first_flask_project.py # 从flask这个包中导入Flask这个类 # Flask这个类是项目的核心,以后很多操作都是基于这个类的对象 # 注册url.注册蓝图等都是基于这个类 ...
- flask笔记3-模板
flask框架使用jinja2模板引擎.简单的说,模板就是一个纯html文件中夹杂着占位符,在渲染模板时用真实变量值替换占位符,就形成了最终的前台页面. 1.模板存放位置: 默认情况下,flask在根 ...
- flask笔记2-程序的基本结构
第一个flask web程序 1.初始化(所有flask程序都必须创建一个程序实例,程序实例是Flask类的对象): from flask import Flask app = Flask(__nam ...
- flask笔记1-安装
1.创建应用的根目录: 2.在根目录下创建独立的虚拟python运行环境,创建完成后当前目录会有一个文件夹,即该独立环境(使用--no-site-pachages参数将不会复制任何系统python环境 ...
- flask笔记---url、变量规则
1.路由: route() 装饰器用于把一个函数绑定到一个 URL,可以动态变化 URL 的某些部分,还可以为一个函数指定多个规则,从而方便用户访问与记忆. 例子: @app.route('/') # ...
- flask笔记二
web表单 web表单是浏览者和网之间的一个互动平台,完成浏览器和服务器之间的数据交互. 1.用Flask-WTF来处理表单 (1)在根目录下编辑扩展配置--config.py CSRF_ENABLE ...
- flask笔记一
最近学习flask,由于web开发方面接触的并不是很多,所以看官方文档有点焦头烂额,好多的概念不理解. <Flask web 开发>比较基础,先用这本书做个入门. 1.Flask实例化对象 ...
随机推荐
- js中的Function和Object
说到构造器(condtructor).原型链(prototype),说道Function与Object,总要祭出下面这张图 1.Function是最顶层的构造器,Object是最顶层的对象 2.先有的 ...
- reload()与reload(true)
如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已 改变.如果文档已改变,reload() 会再次下载该文档.如果文 ...
- L1-002 打印沙漏 (20 分)
L1-002 打印沙漏 (20 分) 方法:清晰思路,纸上写出实例,注意循环使用 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * ** ...
- 重构指南 - 使用多态代替条件判断(Replace conditional with Polymorphism)
多态(polymorphism)是面向对象的重要特性,简单可理解为:一个接口,多种实现. 当你的代码中存在通过不同的类型执行不同的操作,包含大量if else或者switch语句时,就可以考虑进行重构 ...
- 五校联考模拟赛Day2T2矩阵(容斥原理)
题意 $n * m$的网格,对其进行黑白染色,问每一行每一列至少有一个黑格子的方案数. Sol 考场上只会$n^3$的dp,还和指数级枚举一个分qwq 设$f[i][j]$表示到了第$i$行,已经有$ ...
- JDBC实现动态查询
一 概述 1.什么是动态查询? 从多个查询条件中随机选择若干个组合成一个DQL语句进行查询,这一过程叫做动态查询. 2.动态查询的难点 可供选择的查询条件多,组合情况多,难以一一列举. 3.最终查询语 ...
- CSS3嵌入字体
@font-face能够加载服务器端的字体文件,让浏览器端可以显示用户电脑里没有安装的字体.语法: 例子:
- .NET部分知识点整理
.Net学习 Visual Studio2018 企业版:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF 专业版:KBJFW-NXHK6-W4WJM-CRMQB-G3CDH 开发工具常用V ...
- day3-购物车小程序
1.要求 启动程序后,让用户输入工资,然后打印商品列表 允许用户genuine商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒还有多少 可随时退出,退出时,打印已购买商品和余 ...
- EM自动任务导致数据库缓慢
这两天客户抱怨数据库慢,查看性能什么的没发现什么异常.查看job发现一个内容为EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS执行特别频繁.使用 EXEC DBMS_ ...