1、安装虚拟环境
mosson@mosson:~$ sudo apt-get install virtualenv
2、创建一个项目目录
mosson@mosson:~$ mkdir myproject
3、进入项目目录
mosson@mosson:~$ cd myproject/
4、利用虚拟环境创建目录
mosson@mosson:~/myproject$ virtualenv venv
5、开启环境
mosson@mosson:~/myproject$ source /spider/bin/activate
效果:
(venv) mosson@mosson:~/myproject$

这个带有(venv)的是一个虚拟的环境 可以在环境里安装你需要的flask的版本,其他各种的软件包,不会与根下的python包有冲突

6、退出虚拟环境:

(venv) mosson@mosson:deactivate

二、简单的demo

1、'hello world'

.py文件

from flask import Flask
from flask import requestapp = Flask(__name__)@app.route('/')
def hello_world():return 'Hello World!'
if __name__ == '__main__':app.run()

访问方式:

demo2

.py

from flask import Flask
from flask import requestapp = Flask(__name__)@app.route('/user/<name>')
def user(name):return '<h1>Hello %s </h1>' % nameif __name__ == '__main__':app.run()

访问方式

demo3:查看浏览器请求头中的 "User_Agent"信息

from flask import Flask
from flask import requestapp = Flask(__name__)@app.route('/')
def index():user_agent = request.headers.get('User-Agent')return '<p>Your browser is %s</p>'%user_agentif __name__ == '__main__':app.run()

任何时候一个请求来到Flask就会激活(或者称作pushes)application context和request contexts,当请求结束再销毁它们。这意味着请求到来的时候,你可以在当前线程中获取到current_app和g,类似地reqeust和session也能被获取到。当没有激活的application context或者request context的时候,获取这些变量会报错。

如下示例证明了application context是如何工作的:

>>> from hello import app
>>> from flask import current_app
>>> current_app.name
Traceback (most recent call last):
...
RuntimeError: working outside of application context
>>> app_ctx = app.app_context()
>>> app_ctx.push()
>>> current_app.name
'hello'
>>> app_ctx.pop()

默认直接使用current_app.name是会报错的,

直到我们调用了app的app_ctx的push或pop方法改变了current_app的值。

注:这里把push和pop当做一个往current_app写入、推出application context的方法,而不要跟常见的数组的操作方法混淆了。

 

3、在前端页面中访问函数

url_for('.函数名')     提示:别忘了括号里面的点

函数实例:

from flask import Flask,render_template
from flask import requestapp = Flask(__name__)@app.route('/services')
def services():return 'Services'
@app.route('/about')
def about():return 'About'if __name__ == '__main__':app.run(debug=True)

效果展示:

点击 Services 或者 About 都会跳转到相应的函数里

4 、正则匹配路由

先定义一个正则转换器:

from werkzeug.routing import BaseConverter
class RegexConverter(BaseConverter):def __init__(self, url_map, *items):super(RegexConverter, self).__init__(url_map)self.regex = items[0]

设置 正则转换器的名字  : regex

app.url_map.converters['regex'] = RegexConverter

在路由里写上正则:

@app.route('/user/<regex("[a-z]{3}"):user_id>')
def user(name):return '<h1>Hello %s </h1>' % name

常见的 HTTP 方法:

get:

浏览器告知服务器:只获取页面上的信息并发给我

这是最常用的方法

post:

浏览器告诉服务器:想在url上发布新信息,并且

服务器必须确保 数据已存储且存储一次

这是 HTML 表单通常发送数据到服务器

put:

类似 post 但是服务器可能触发了存储过程多次,多次覆盖旧的值

原因:

  传输过程中连接可能会丢失

  这种情况下,浏览器的服务器之间的系统可能安全地第二次接收请求,而不破坏其他的东西

  post 只触发一次,所以 用 post 是不可能

delete:

删除给定位置的信息

head

浏览器告诉服务器:欲获取信息,但是只关心,消息头

应用应像 GET  请求一样来处理,但是不分发实际内容

在 flask中 你完全无需人工干预

底层的 Werkzeug 库已经替我们处理好了

options

给客户端提供一个敏捷的途径来弄清楚这个 url 支持 哪些 HTTP 方法

从 flask 0.6 开始 实现里自动处理

转载于:https://www.cnblogs.com/mosson/p/6032314.html

flask--虚拟环境相关推荐

  1. flask-稿件-环境依赖包的生成与安装-flask虚拟环境的布局

    关于依赖包 依赖包的好处 一键生成 换了一个环境,可以一键安装 非常方便 ... 生成依赖包 安装依赖包 虚拟环境是如何隔离各个软件的? 虚拟环境都放在目录中 虚拟环境都以目录方式存在 进入了虚拟环境 ...

  2. 安装python虚拟环境,及安装flask方法步骤

    1.配置环境变量 找到python安装目录 找到下面的scripts文件夹,复制路径,配置到环境变量中 2.打开cmd命令窗口 输入pip命令 第一步环境变量中添加了scripts以后,就可以看到下面 ...

  3. 如何安装python虚拟环境_如何安装python3.9以及python虚拟环境?

    一:Python3.9安装 1. 配置依赖环境 sudo apt-get install libffi-dev zlib1g-dev libbz2-dev libssl-dev libncurses5 ...

  4. 查看电脑python虚拟环境-手把手教你在Linux系统下使用Python虚拟环境

    点击上方" Python爬虫与数据挖掘 ",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夕阳无限好,只是近黄昏. /1 ...

  5. linux系统如何打开python_手把手教你在Linux系统下使用Python虚拟环境

    点击上方" Python爬虫与数据挖掘 ",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夕阳无限好,只是近黄昏. /1 ...

  6. 删除虚拟环境_手把手教你在Linux系统下使用Python虚拟环境

    Hello小伙伴们,你们好,又是日常get新技能的一天,今天,咱们来整一下如何玩转Linux下Python虚拟环境,0基础入门,趁着热乎,快上车啦~. 之前小编有写过Windows下的虚拟环境创建和基 ...

  7. (二)Flask 学习 —— 模板

    2019独角兽企业重金招聘Python工程师标准>>> 模板 回顾 如果你依照 Hello World 这一章的话,你应当有一个完全工作的简单的 web 应用程序,它有着如下的文件结 ...

  8. [转载] 一、第一个Flask程序

    参考链接: Flask –(创建第一个简单的应用程序) 1.准备工作 前两篇文章已经部署好了python和flask的环境,接下来就是进入写代码阶段了,但是在本篇文章,我们先不写代码,先新建一个空的f ...

  9. 程序界搬砖工教你在Linux系统下如何使用Python虚拟环境(干货篇)

    前言: Hello小伙伴们,你们好,又是日常get新技能的一天,今天,咱们来整一下如何玩转Linux下Python虚拟环境,0基础入门,来不及了,快上车~~~ 1.为什么需要虚拟环境? 其实虚拟环境要 ...

  10. Flask+Gunicorn+Ngnix部署笔记

    1 前言 最近自己开发了一个基于Flask Web框架的小应用,用于对外服务.记录下将Web应用部署的步骤.采用比较常见的flask + gunicorn + nginx来部署. 其实我的环境很简单, ...

最新文章

  1. Spark的RDD分区器
  2. PE Header中的FIleHeader(文件头)
  3. promise 实现依次循环 请求数据
  4. c/c++ typedef定义函数指针(Hook前奏2)
  5. 黑马程序员_java异常处理机制
  6. vvv在线文档导出工具_一款真正实时的在线文档协作编辑工具,多人可同时对一份文件修改...
  7. c++随机打乱数组_第四天 Java 数组与排序
  8. 获取线程号 gettid()【原创】
  9. C++ 面向对象程序三大特性之 继承
  10. 经常吃番茄对身体有什么影响?
  11. Nagios搭建及问题详解(一)
  12. c#使用私有构造方法
  13. iis php 内存溢出,iis-7.5 - HTTP错误405.0-不允许方法IIS 7.5模块staticfilemodule - 堆栈内存溢出...
  14. 【CAD二次开发】CAD常用版本 DwgVersion
  15. c语言变量ppt,C语言数据类型和变量课件PPT
  16. CXK, 出来打球!
  17. 使用Python的tenacity库实现异常重试机制
  18. MATLAB R2016b + VS2017专业版安装spams
  19. 李沐动手学深度学习第四章-4.9.环境和分布偏移
  20. C语言编写的计算生肖年份的小程序

热门文章

  1. 纺织ERP_面料ERP_指点ERP系统
  2. python查看哪些内存被释放_python内存不释放原理 | shell's home
  3. Linux 安装DockerMysql
  4. iOS多线程编程之NSThread的使用(★★★推荐,为原作者点赞★★★)
  5. 览书记之汽车电子信息技术
  6. 卸载 kubernetes
  7. Matplotlib 实战总结,超全!超长!
  8. Python + Tkinter:图片浏览器(二)
  9. Telegram Download Default Chat Wallpaper
  10. R 中将图表导出成文件