HTTP超文本傳輸協議
CSS層疊樣式
HTML 超文本標記語言
JavaScript腳本語言
WSGI接口:Web Server Gateway Interface. -- 它只要求web開發者實現一個函數,就可以相應http請求。
def application(environ, start_response):
start_response('200 OK', [('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和函數給關聯起來:
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/', methods = ['GET', 'POST'])
def home():
return '<h2>Home</h2>'
@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 '<h4>Hello, admin!</h4>'
return '<h4>Bad username or password.</h4>'
if __name__=='__main__'
app.run()免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。