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模式等...

好了,今天更新就结束了,虽然知识点少,好歹也是一字一句的写下来,好梦!!

最新文章

  1. 利用dmidecode 查看服务器的信息技巧
  2. redis 安装使用
  3. Log4Cplus的介绍
  4. jvm所占空间的配置
  5. PHP文件下载方式
  6. github避免每次输入账户密码
  7. C++Primer笔记(1)
  8. HDU 2795 Billboard 线段树,区间最大值,单点更新
  9. tensorflow(4)踩过的一些坑
  10. 短信利用weixin://connectToFreeWifi/?apKey=协议跳转到微信打开落地页h5
  11. 多功能网页刷新工具,刷pv工具
  12. JavaSE回顾及巩固的自学之路(三)——————所有语言的都存在的基本运算
  13. openwrt 域名ping不通 修改dns
  14. java中垃圾回收机制中的引用计数法和可达性分析法(最详细)
  15. 深入理解java虚拟机---lanmbda表达式简介(三)
  16. py库: django (web框架)
  17. UDDI
  18. springMVC上传文件简单案例
  19. SHELL调用存储过程
  20. 关于jsp中引用css外部样式无效时的处理方法

热门文章

  1. 运算符重载关键字operator
  2. Redis简介及持久化
  3. WinSock Socket 池
  4. Java操作Mongodb(转载)
  5. Visual Studio Code打开终端控制台
  6. linux漏洞分析入门笔记-栈溢出
  7. ThinkPHP5.0更改框架的验证方法:对象->validate(true)->save();
  8. debug问题记录
  9. 利用CRM中间件Middleware从ERP下载Customer Material的常见错误
  10. 如何查找Fiori UI上某个字段对应的后台存储表的名称