Flask

虛擬環境的配置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)
相關文章
相關標籤/搜索