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. python词频统计

    1.jieba 库 -中文分词库 words = jieba.lcut(str)  --->列表,词语 count = {} for word in words: if len(word)==1 ...

  2. Git连接远程服务器输入密码问题

    当遇到使用Git从远程pull 或者 push代码的时候提示输入密码的时候,毫无疑问SSH Key出问题了! 一.如果只是使用Git Bash,重新生成一下ssh,把新的id_rsa.pub添加到Gi ...

  3. 06.FileStream类的学习

    //FileStream类是用来操作字节的,也就是可以操作所有文件. 因为所有的文件都是以字节形式来存储的. //StreamReader类和StreamWriter类是用来操作字符的. FileSt ...

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

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

  5. PAT 1021 Deepest Root

    #include <cstdio> #include <cstdlib> #include <vector> using namespace std; class ...

  6. 纯css 简单网页

    <div id="wrapper"> <header> <section> <h1>Web Design<h1> < ...

  7. php 递归的生成目录函数

    /** * 递归的生成目录 * @param str $dir 必须是目录 */ function mkdirs($dir) { return is_dir($dir) ?: mkdirs(dirna ...

  8. Win8 Pro 64 Install .net3.5 在线升级会遇到错误0x800F0906。

    很多人安装Win8后都遇到了无法升级.NET Framework 3.5.1的问题,在线升级会遇到错误0x800F0906. Uninstall Windows update kB: KB296682 ...

  9. android Handler、Thread和Runnable

    android里面的创建的Handler对象并不是新建一个新的线程,而是在主线程执行,主线程的消息队列中循环. java中实现一个线程有两种方法,一种是继承Thread类,一种是实现Runnable接 ...

  10. Flask入门flask-script 蓝本 钩子函数(三)

    1 flask-script扩展库 概念: 是一个flask终端运行的解析器 ,因为项目完成以后,代码改动会有风险,所以借助终端完成不同启动项的配置 安装 pip3 install flask-scr ...