鉴于硬件设施的完善和网络的普及,互联网相关的东西也会有长足发展。之前从来没接触过互联网的我,也在这种驱动之下做了一点点东西,并记录下过程,以便参考和回忆。
python下有众多开源框架,Django,Web2py, web.py等等。不过我选择了一个轻量级的框架Flask。虽然我也没有详细学习过其他框架,只听朋友说过flask简单,上手快,适合新手,而且给我推荐了一本《Flask Web Development》。我就参考书本决定尝试一下。
找到第一个例程
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '
Hello World!
'if __name__ == '__main__':
app.run(debug=True)
看起来非常简单呢。只是单纯的调用了Flask库。在python中安装了flask之后,在cmd中找到例程所在文件夹,在cmd中运行python filename.py,然后用浏览器访问http://localhost:5000/,就能看到
当然,cmd里也会提示相应的服务器信息:
200和404都是服务器返回状态,200表示返回成功,404表示文件未找到。当然,这里我们没有定义favicon.ico。
再对照之前的程序,OK,我想
@app.route('/')
def index():
return '
Hello World!
'这个部分是说输入的是"/"的时候会调用这个函数,返回对应的值。
OK,下一段程序
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '
Hello World!
'@app.route('/user/')
def user(name):
return '
Hello, %s!
' % nameif __name__ == '__main__':
app.run(debug=True)
这部分之比之前多了一个方法,参考之前的猜测。估计是要在后面加上"user/a/"之类的,然后就能返回"Hello, a!"了
OK,测试一下,结果如下:
果不其然。嗯,看起来还挺容易的。
再往下看。
from flask.ext.script import Manager
manager = Manager(app)
# ...
if __name__ == '__main__':
manager.run()
咦,例子怎么只有这么一点,好奇怪,看起来是调用了一个flask.ext.script的东西,在外面包了一层。再往后看,居然可以指定运行端口,然后让其他机器访问,看起来不错~ 只是这程序只有一小部分,没有完整的代码啊。嗯,书里面一直在说从GitHub拿到代码,看来可以从那上面获得。
嗯,命令是 git clone https://github.com/miguelgrinberg/flasky.git,看起来对应的地址是https://github.com/miguelgrinberg/flasky
嗯,check out版本2c之后,果然是在之前的代码中嵌入了上面的,完整的代码如下:
from flask import Flask
from flask.ext.script import Manager
app = Flask(__name__)
manager = Manager(app)
@app.route('/')
def index():
return '
Hello World!
'@app.route('/user/')
def user(name):
return '
Hello, %s!
' % nameif __name__ == '__main__':
manager.run()
不过这么简单还是先运行在本地吧。在尝试一下python hello.py,奇怪,提示要加入其他参数,嗯,再看下书,用python hello.py runserver,就OK了。
要是想让其他人访问,就要再加入参数:--host 0.0.0.0。其他人访问的时候就要输入电脑的ip地址加上端口5000就OK了。