虛擬環境的配置html
pip install virtualenv
建立一個虛擬環境,參數是虛擬環境的目標目錄前端
virtualenv venv
激活虛擬環境python
source venv/bin/activate
運行所需的依賴包ajax
pip freeze > requirements.txt
1 開啓調試模式,修改代碼後不須要手動重啓json
app = Flask(__name__) app.debug = True
2 路由中的變量flask
@app.route('/<name>', methods=['GET', 'POST']) def home(name): return render_template('home.html',name=name)
3 關於配置文件後端
PASSWORD = '123456' app = Flask(__name__) app.debug = True app.config.from_object(__name__) print app.config['PASSWORD']
4 關於前端頁面發送消息至後端api
第一種: ajax
前端: $.post('/test',{ a:"data1", b:"data2" }, function(data,status){ alert("數據" + data + "狀態" + status)
若是返回的json格式,則 JSON.parse(data).name })
後端:
a = request.form["a"]
b = request.form["b"]
print a + b
return "hello" restful
也能夠 返回 dit session
import json
from flask import, jsonify
c = {"name":"jinkang","sex":"man"}
return json.dumps(c)
第二種 就是 form 提交表單
<form action="/" method="post">
後端 request.form["name"] 獲取 <input name="name" value="value">的值。
建議循環 request.form
for x,y in dic.iteritems():
x y 循環 表單中的 name 和 value 值。
錯誤頁面的自定義
@app.errorhandler(404) def not_find(error): return "404"
一個 session 和 flash 消息的例子
# -*- coding: utf-8 -*- from flask import Flask, request, render_template, jsonify,redirect, url_for,session,escape,flash import os,commands import json from werkzeug import secure_filename app = Flask(__name__) app.debug = True app.secret_key = "adsfadfad" @app.route('/', methods=['GET', 'POST']) def index(): return render_template('home.html') @app.route('/login', methods=['POST','GET']) def login(): username = request.form['username'] password = request.form['password'] if(username == "admin" and password == "123456"): session['username'] = username return redirect(url_for('homepage')) else: flash("the wrong username and password",'error'); return render_template('home.html') @app.route('/homepage', methods=['POST','GET']) def homepage(): if('username' in session): return "welcome" + session['username'] else: return render_template('home.html') @app.errorhandler(404) def not_find(error): return "404" if __name__ == '__main__': app.run(host='0.0.0.0',port=3999)
關於模板繼承
模板
<div> <h1 style="color: red">THIS IS A TITLE</h1> </div> {% block content %}{% endblock %}
繼承
{% extends "base.html" %} {% block content %} 888888 {% endblock %}
關於 FLASK-RESTful 的一個例子
from flask import Flask,request from flask.ext import restful app = Flask(__name__) api = restful.Api(app) class HelloWorld(restful.Resource): def get(self): return {'id': 'getmethod'} def post(self): val = request.form['key'] print val return {'id': val} api.add_resource(HelloWorld, '/hello') if __name__ == '__main__': app.run(debug=True,port=3999)