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笔记(一)的更多相关文章

  1. flask笔记(三)Flask 添加登陆验证装饰器报错,及解析

    Flask 添加登陆验证装饰器报错,及解析 写这个之前,是想到一个需求,这个是关于之前写Flask笔记(二)中的一个知识点,路由相关 需求为 : 有一些页面必须是登陆之后才能访问的,比如Shoppin ...

  2. Flask笔记1

    Flask笔记 首先明确一下,要运行一个动态网页,我们需要 一个 Web 服务器来监听并响应请求,如果请求的是静态文件它就直接将其返回,如果是动态 url 它就将请求转交给 Web 应用. 一个 We ...

  3. Flask笔记:RESTful

    RESTful是用于前台和后端进行通信的一种规范或者说一种风格,采用的是HTTP和HTTPS协议,数据传输的格式使用的都是JSON,而不是XML.通常,RESTful的URL中只有名词,没有动词,而且 ...

  4. Flask笔记(一)

    first_flask_project.py # 从flask这个包中导入Flask这个类 # Flask这个类是项目的核心,以后很多操作都是基于这个类的对象 # 注册url.注册蓝图等都是基于这个类 ...

  5. flask笔记3-模板

    flask框架使用jinja2模板引擎.简单的说,模板就是一个纯html文件中夹杂着占位符,在渲染模板时用真实变量值替换占位符,就形成了最终的前台页面. 1.模板存放位置: 默认情况下,flask在根 ...

  6. flask笔记2-程序的基本结构

    第一个flask web程序 1.初始化(所有flask程序都必须创建一个程序实例,程序实例是Flask类的对象): from flask import Flask app = Flask(__nam ...

  7. flask笔记1-安装

    1.创建应用的根目录: 2.在根目录下创建独立的虚拟python运行环境,创建完成后当前目录会有一个文件夹,即该独立环境(使用--no-site-pachages参数将不会复制任何系统python环境 ...

  8. flask笔记---url、变量规则

    1.路由: route() 装饰器用于把一个函数绑定到一个 URL,可以动态变化 URL 的某些部分,还可以为一个函数指定多个规则,从而方便用户访问与记忆. 例子: @app.route('/') # ...

  9. flask笔记二

    web表单 web表单是浏览者和网之间的一个互动平台,完成浏览器和服务器之间的数据交互. 1.用Flask-WTF来处理表单 (1)在根目录下编辑扩展配置--config.py CSRF_ENABLE ...

  10. flask笔记一

    最近学习flask,由于web开发方面接触的并不是很多,所以看官方文档有点焦头烂额,好多的概念不理解. <Flask web 开发>比较基础,先用这本书做个入门. 1.Flask实例化对象 ...

随机推荐

  1. js中的Function和Object

    说到构造器(condtructor).原型链(prototype),说道Function与Object,总要祭出下面这张图 1.Function是最顶层的构造器,Object是最顶层的对象 2.先有的 ...

  2. reload()与reload(true)

    如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已 改变.如果文档已改变,reload() 会再次下载该文档.如果文 ...

  3. L1-002 打印沙漏 (20 分)

    L1-002 打印沙漏 (20 分) 方法:清晰思路,纸上写出实例,注意循环使用 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * ** ...

  4. 重构指南 - 使用多态代替条件判断(Replace conditional with Polymorphism)

    多态(polymorphism)是面向对象的重要特性,简单可理解为:一个接口,多种实现. 当你的代码中存在通过不同的类型执行不同的操作,包含大量if else或者switch语句时,就可以考虑进行重构 ...

  5. 五校联考模拟赛Day2T2矩阵(容斥原理)

    题意 $n * m$的网格,对其进行黑白染色,问每一行每一列至少有一个黑格子的方案数. Sol 考场上只会$n^3$的dp,还和指数级枚举一个分qwq 设$f[i][j]$表示到了第$i$行,已经有$ ...

  6. JDBC实现动态查询

    一 概述 1.什么是动态查询? 从多个查询条件中随机选择若干个组合成一个DQL语句进行查询,这一过程叫做动态查询. 2.动态查询的难点 可供选择的查询条件多,组合情况多,难以一一列举. 3.最终查询语 ...

  7. CSS3嵌入字体

    @font-face能够加载服务器端的字体文件,让浏览器端可以显示用户电脑里没有安装的字体.语法: 例子:

  8. .NET部分知识点整理

    .Net学习 Visual Studio2018 企业版:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF 专业版:KBJFW-NXHK6-W4WJM-CRMQB-G3CDH 开发工具常用V ...

  9. day3-购物车小程序

    1.要求 启动程序后,让用户输入工资,然后打印商品列表 允许用户genuine商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒还有多少 可随时退出,退出时,打印已购买商品和余 ...

  10. EM自动任务导致数据库缓慢

    这两天客户抱怨数据库慢,查看性能什么的没发现什么异常.查看job发现一个内容为EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS执行特别频繁.使用 EXEC DBMS_ ...