HTTP超文本传输协议

CSS层叠样式

HTML 超文本标记语言

JavaScript脚本语言


WSGI接口:Web Server Gateway Interface. -- 它只要求web开发者实现一个函数,就可以相应http请求。

defapplication(environ,start_response):start_response('200OK',[('Content-Type','text/html)])return[b'<h2>hello,web!</h2>']


web框架

wsgi框架 -- 其实一个web app,就是写一个wsgi的处理函数,针对每个http请求进行响应。

使用flask编写web app比wsgi接口简单。

写一个app.py,处理3个URL:

GET / :首页,返回home;

GET /signin :登录页,显示登录表单;

POST /signin :处理登录表单,显示登录结果。

flask通过python的装饰器在内部自动地把URL和函数给关联起来:

fromflaskimportFlaskfromflaskimportrequestapp=Flask(__name__)@app.route('/',methods=['GET','POST'])defhome():return'<h2>Home</h2>'@app.route('/signin',methods=['GET'])defsignin_form():return'''<formaction="/signin"method="post"><p><inputname="username"></p><p><inputname="password"type="password"></p><p><buttontype="submit">SignIn</button></p></form>'''@app.route('/signin',methods=['POST'])defsignin():ifrequest.form['username']=='admin'andrequest.form['password']=='password':return'<h4>Hello,admin!</h4>'return'<h4>Badusernameorpassword.</h4>'if__name__=='__main__'app.run()