Python是一种脚本语言很适合web开发。
web应用程序就是浏览器发送请求,服务器响应web页面回来。我们很原始的想到利用Python实现这一点,这就是WSGI接口,他能通过写一个函数对每个请求作出响应。但是我们关心的不是怎么响应每个请求而是处理无数个URL,毕竟这才是最表面上的东西,用户输入一个网址(URL)跳出来一个页面。
为了实现这种直接的编程,我们要使用web框架。
我们先要安装一个web框架,就用Flask好了
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def home():
return '<h1>Home</h1>'
@app.route('/signin', methods=['GET'])
def signin_form():
return '''<form action="/signin" method="post">
<p><input name="username"></p>
<p><input name="password" type="password"></p>
<p><button type="submit">Sign In</button></p>
</form>'''
@app.route('/signin', methods=['POST'])
def signin():
if request.form['username']=='admin' and request.form['password']=='password':
return '<h3>Hello, admin!</h3>'
return '<h3>Bad username or password.</h3>'
if __name__ == '__main__':
app.run()
@app.route是一个装饰器,他能神奇的把URL跟被装饰的函数关联起来。
@app.route()括号中先传入URL,代表处理的URL,再传入方法GET代表请求的方式。把下面的函数作为响应的正文(body)返回。
我们看到每个函数返回的其实是HTML文本,这直接写在Python程序中很不好。这里就要用到高大上的MVC了。也就是写好一个HTML作为框架在Python里再用数据去替换框架里的东西。蛮简单的。