来自 电脑知识 2019-11-03 03:14 的文章
当前位置: 威尼斯国际官方网站 > 电脑知识 > 正文

【威尼斯国际官方网站】Flask框架学习笔记

Flask 信赖于多个外表库: Werkzeug  和  Jinja2  。 Werkzeug 是贰个 WSGI (在 web 应用和多样服务器之间开辟和陈设的正儿八经 Python 接口) 的工具集,Jinja2 承受渲染模板。

一、安装

Flask安装的前提条件

1.已安装python2.x版本

2.已安装easy_install

在安装flask此前,你必须要要先安装python和easy_install,easy_install只扶助pyhon2.x本子不协理python3.x版本,所以您在安装python的时候最好选取python2.x。这里是2.7.

python2.7的装置很简短,本站内有不菲篇小说介绍,这里不加描述,路线率性,安装达成走进入国情形变量便可。

win7 :

配置景况变量

情势豆蔻梢头:(Computer-》属性--》高端系统安装--》情形变量--》增多python安装路线卡塔尔

方法二:cmd下

设置:set PYTHONPATH=%PYTHONPATH%;C:My_python_lib

查看:echo %PATH%

easy_install安装:

下载地址:

windows版本的只会有多个 ez_setup.py 脚本,下载下来放在D:Pythonpython2.7目录下施行,则会自行安装easy_install,目录:D:Pythonpython2.7Scripts

easy_install参与碰到变量:路线为D:Pythonpython2.7Scripts

设置好那多个后则初步安装flask

设置 virtualenv,这么些第一是用来做解释器碰着隔断的,避免同一机器上的八个python只怕八个python的库依赖

然后配置虚构遇到

然后cd到myvir目录的Scripts下

输入activate.bat,就进去了设想境况了,然后输入easy_install Flask安装

测验结果,是还是不是安装成功:

在pycharm软件中,要创制flask项目,然后选拔myvir中的python.exe运维脚本。

创建简单hello world脚本,文件名字为test1.py:

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

接下来点击运维则会呈现

能够因而付出的网站实行访谈。注意:那个时候直接处于运营情况,完毕后要关门该端口则点击pycharm中的Run->stop。
暗中同意唯有本土能够访谈,端口为5000.

末段后生可畏行修正为 app.run('0.0.0.0', 12345),就足以让别的人拜谒了

解析:

from flask import Flask

导入 Flask 类

app = Flask(__name__)

实例化对象 app ,参数为利用模块或包的名目,这里 __name__ 指的是 __main__ 主程序。这一个参数是不能缺少的,那样  Flask  就足以精晓在何地找

到模板和静态文件等东西。

@app.route("/")

选取 route() 装饰器告诉 Flask 触发函数的 U智跑L 。能够自定义,如 @app.route("/test1.py"),访问时则前面要接文件名

def hello():

    return "Hello World!"

概念的函数,用来扭转相关联的 UXC60L ,并再次来到须要在客商浏览器中展现的新闻。

app.run()

运营服务器应用,运营后暗中认可唯有本土能够访谈,如需让任何总是,能够内定host ,如: app.run(host='0.0.0.0')

默许使用的端口是: 5000 ,能够行使自定义的主机和端口: app.run(host="0.0.0.0",port=8000)

可外界访谈的服务器

比如你运维服务器,你会小心到它必须要从您本人的计算机上访谈,互联网中任何任何的地点都不能够访谈。那是在默许情况,因为在调节和测量检验方式,客商能够在你的微型机上实行大肆Python 代码。

设若您 禁用了  debug  或亲信你所在互联网的客户 ,你能够轻巧改善调用  run()  的法子让你的服务器公开可用,如下:

app.run(host='0.0.0.0')

那会让操作系统监听全数公开的IP。

二、windows下安装3.3版本的:

只顾:如若私下认可已经设置了2.7的,想安装3.3的,则必需步入到3.3安装目录内,然后运营python ez_setup.py(ez_setup.py下载地址:)。

下一场步入到刚生成的scripts目录下,执行上面包车型客车授命安装virtualenv。

如出一辙,发生虚构遭受的时候也要用3.3的virtualenv,不然报错。

然后cd到myvir目录的Scripts下

输入activate.bat,就进去了虚构碰到了,然后输入easy_install Flask安装

三、centos6.4安装python2.6的flask框架::

设置实践命令:

yum install openssh-server
python --version(查看是否是符合的版本)
yum install python-setuptools
easy_install virtualenv(系统默认安装了easy_install2.6)
virtualenv 

设置落成,你能够至时张开 shell 然后创制你自身的条件。

1.全局(不推荐):

easy_install Flask                全局安装,上边有一点点安装的法子。

测验代码:

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

文本贮存的岗位未有必要,在任什么地点方都可以施行。( 全局安装卡塔 尔(英语:State of Qatar)
从别的的服务器访谈:http://IP:5000的方式
下一场别的的,比如模板渲染则大器晚成律只须求在你的类别中开创templates文件夹的主意贯彻。

2.部分情况:

本身日常创立八个门类文件夹,并在其下成立贰个 venv  文件夹

[root@localhost opt]# mkdir myweb

[root@localhost opt]#cd myweb

[root@localhost myweb]# virtualenv venv(注意:这里的venv目录名字是自己设定的)
New python executable in venv/bin/python
Installing setuptools, pip...done.

当今,无论哪一天你想在有个别项目上海工业作,只须求激活相应的遇到。

好处:

不无东西都早已设置在此个虚构境况中了,因而你自已根本的Python安装情形则不会受影响(能够同时扶植多少个情状的利用卡塔 尔(英语:State of Qatar)。附加的三个利润是,用这种艺术来设置时无需root管理员权限。
搬迁之后,试行文书会因为改动路线不也许利用,依然须要重新创设情况。

在 OS X 和 Linux 上,实行如下操作:

[root@localhost venv]# . bin/activate   #激活(每次运行都有是激活状态)
(venv)[root@localhost venv]# 

上边包车型地铁操作适用 Windows:

$ venvscriptsactivate

不论通过哪个种类艺术,你以后应有早已激活了 virtualenv(注意你的 shell 提示符显示的是移动的条件卡塔尔。

明日你只须要键入以下的一声令下来激活 virtualenv 中的 Flask:

(venv)[root@localhost venv]# pip install Flask             #只需开始执行一次
......
Successfully installed Flask Werkzeug Jinja2 itsdangerous markupsafe
Cleaning up...

几分钟后,一切都化解了。
大概会出错:

SSLError: The read operation timed out

Storing debug log for failure in /root/.pip/pip.log

这种错误的话只要重新实践该命令就足以了。

实行. activate.csh能够脱离 virtualenv(不精晓是或不是科学的点子,但真的能够脱离卡塔 尔(英语:State of Qatar)

四、centos下安装python3.3的flask框架:

要是3.3的easy_install:

[root@localhost python3.3.3]# wget https://bootstrap.pypa.io/ez_setup.py
[root@localhost python3.3.3]# python3.3 ez_setup.py  (一定要指定3.3的执行文件,不然会使用系统的默认python)
[root@localhost python3.3.3]# easy_install

 那时补齐可观看版本

easy_install      easy_install-2.6  easy_install-3.3

然后后边的安装跟2.6的步骤是雷同的,只是安装的时候势须要钦定明确的一声令下(3.3的要么2.6的卡塔尔国
设置到位后,二种版本互补影响,都有自个儿的虚构蒙受,实行本身条件内的本子。
此前安装成功,后边在其余一台服务器上安装则报错:

[root@www python3.3]# python3.3 ez_setup.py 
Extracting in /tmp/tmpj462kb
Traceback (most recent call last):
 File "ez_setup.py", line 332, in <module>
  sys.exit(main())
 File "ez_setup.py", line 329, in main
  return _install(archive, _build_install_args(options))
 File "ez_setup.py", line 51, in _install
  with archive_context(archive_filename):
 File "/usr/local/python3.3/lib/python3.3/contextlib.py", line 48, in __enter__
  return next(self.gen)
 File "ez_setup.py", line 101, in archive_context
  archive.extractall()
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 1232, in extractall
  self.extract(zipinfo, path, pwd)
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 1220, in extract
  return self._extract_member(member, path, pwd)
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 1282, in _extract_member
  with self.open(member, pwd=pwd) as source, 
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 1202, in open
  close_fileobj=not self._filePassed)
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 649, in __init__
  self._decompressor = _get_decompressor(self._compress_type)
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 612, in _get_decompressor
  return zlib.decompressobj(-15)
AttributeError: 'NoneType' object has no attribute 'decompressobj'
[root@www python3.3]# 

缺乏相关模块:
网络是因而上面包车型地铁主意消除:

yum install build-essential libssl-dev libxml2-dev libbz2-dev libjpeg62-dev libreadline5-dev wv poppler-utils zlib1g zlib1g-dev zlibc libghc6-zlib-dev zlibc

不过本身重新安装了三次python再一次运行就对的误了。

而是安装virtualenv的时候又出标题了:

[root@www python3.3]# easy_install-3.3 virtualenv
Searching for virtualenv
Reading https://pypi.python.org/simple/virtualenv/
Download error on https://pypi.python.org/simple/virtualenv/: unknown url type: https -- Some packages may not be found!
Couldn't find index page for 'virtualenv' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
Download error on https://pypi.python.org/simple/: unknown url type: https -- Some packages may not be found!
No local packages or download links found for virtualenv
error: Could not find suitable distribution for Requirement.parse('virtualenv')
[root@www python3.3]#

新生间接找到提醒的路径(卡塔 尔(英语:State of Qatar)下载,也可以设置:

[root@www python3.3]# wget https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.9.tar.gz#md5=e03b76752b8ce7eee67c6298414cac79
[root@www python3.3]# ls
bin ez_setup.py include lib setuptools-5.2.zip share virtualenv-1.9.tar.gz
[root@www python3.3]# easy_install-3.3 virtualenv-1.9.tar.gz
Processing virtualenv-1.9.tar.gz
Writing /tmp/easy_install-quwwll/virtualenv-1.9/setup.cfg
Running virtualenv-1.9/setup.py -q bdist_egg --dist-dir /tmp/easy_install-quwwll/virtualenv-1.9/egg-dist-tmp-xhue8r
warning: no previously-included files matching '*' found under directory 'docs/_templates'
warning: no previously-included files matching '*' found under directory 'docs/_build'
Adding virtualenv 1.9 to easy-install.pth file
Installing virtualenv script to /usr/local/python3.3/bin
Installing virtualenv-3.3 script to /usr/local/python3.3/bin
Installed /usr/local/python3.3/lib/python3.3/site-packages/virtualenv-1.9-py3.3.egg
Processing dependencies for virtualenv==1.9
Finished processing dependencies for virtualenv==1.9
[root@www python3.3]# vi
vi       vigr      virtualenv   virtualenv-3.3
view      vipw      virtualenv-2.6 visudo

安装Flask的时候现身难题:

AttributeError: 'module' object has no attribute 'HTTPSConnection'

实质上聊到底都以python未有正规安装,缺点和失误了朝气蓬勃部分模块形成的,所以安装的时候必定要注意,尽管没装好,那就重装吧。
设置python早前要安装具备的开辟工具包

[root@lujie ~]# yum groupinstall "Development tools"

[root@lujie ~]#yum install zlib-devel bzip2-devel openssl-devel ncurses-devel

五、计算安装:

easy_install virtualenv和pip install virtualenv的区别?
easy_insall的成效和perl中的cpan, ruby中的gem相通,都提供了在线生机勃勃键安装模块的傻子方便方式,而pip是easy_install的修正版, 提供越来越好的提醒消息,删除package等职能。老版本的python中唯有easy_install, 没有pip。
easy_install的用法:

1卡塔尔国 安装三个包

$ easy_install <package_name>

$ easy_install "<package_name>==<version>"

2) 进级一个包

$ easy_install -U "<package_name>>=<version>"

pip的用法

1) 安装二个包

$ pip install <package_name>

$ pip install <package_name>==<version>

2) 进级二个包 (即使不提供version号,跳级到新型版本卡塔尔

$ pip install --upgrade <package_name>>=<version>

3卡塔尔国删除叁个包

$ pip uninstall <package_name>

您或者感兴趣的篇章:

  • Flask框架Flask-Login用法剖判
  • 精解flask表单提交的三种方法
  • Flask-Mail用法实例深入分析
  • Flask框架Jinjia模板常用语法总括
  • Flask和Django框架中自定义模型类的表名、父类相关难点深入分析
  • Flask框架通过Flask_login完结客商登入功用示例
  • Python Web框架Flask下网址开荒入门实例
  • Python的Flask框架中@app.route的用法教程
  • 30分钟搭建Python的Flask框架并在地点编写第二个使用
  • Flask入门教程实例:搭建二个静态博客
  • Flask框架Flask-Principal基本用法实例深入分析

本文由威尼斯国际官方网站发布于电脑知识,转载请注明出处:【威尼斯国际官方网站】Flask框架学习笔记

关键词: