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. WPF-MVVM学习心德(WinForm转WPF心德)

    接触MVVM接近一段时间了,有一点理解,写下来. 之前是做winform的,工作需要,学习wpf.优缺点就不用说类,网上一大堆.我自己理解的话,有下面几点: 1.首先是界面的xmal和界面分离:wpf ...

  2. VB.Net遍历已安装的程序卸载信息

    Private Shared Function ProgramExists(ByVal pgName As String) As Boolean Dim temp As String = Nothin ...

  3. IntelliJ IDEA 2017.2 下载和破解方法

    一.IntelliJ IDEA 2017 下载地址  http://www.jetbrains.com/idea/#chooseYourEdition 要下载付费版的,免费版的很多功能不能用 二.破解 ...

  4. Cocos2d-js 开发记录:声音播放

    声音播放可以使用cc.audioEngine,需要播放的文件在resource.js中进行添加如: button_press_mp3: "res/audio/press.mp3", ...

  5. time&datetime模块

    在Python中,和时间处理相关的模块有time,datatime,calendar(不常用)三个. UTCC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间, ...

  6. scss-声明变量与引用

    一.变量的声明 使用$符号可以标识一个变量 $bg-color: #FFFFFF; 二.变量的引用: 变量的引用有一个原则,那就是标准css属性值存在的地方,变量就可以存在. 当编译成css文件的时候 ...

  7. Web前端面试指导(十二):::before 和:before有什么区别?

    题目点评 这个问题看来很简单,但如果之前没有琢磨这个问题,给人感觉也是门头一垂,听到这个题目就懵逼了,因为原来从来没有注意过这个问题,即便有注意这个问题也不能很好的回答清楚.回答的技巧就是从相同点和不 ...

  8. microkernel architecture - Proxy

    The microkernel architecture pattern allows you to add additional application features as plug-ins t ...

  9. 【Linux】Vmware&Linux 网络配置

    Vmware 网络设置 Linux 网络设置 注:本实验使用Linux 版本为 RedHat 6.3 Vmware 网络设置 1.Vmware 网络工作模式 bridged(桥接模式) -- 网络能提 ...

  10. android 账户管理

    1.Android开发之帐户管理 2.Android 帐户管理 小记 3.Android特色开发之账户管理 4.android AccountManager and SyncManager 5.And ...