flask语法跟django差不多。 这是flask的语法网页文档,需要请点击。
在方法名前面直接写一个路由装饰器,将路由与方法关联起来,确实比较方便。而django需要在urls去配置路由。
config.py
JSON_AS_ASCII=False
apptest.py
from flask import Flask,jsonify,url_for,request,redirect
import config
apptest=Flask(__name__)
apptest.config.from_object(config)
apptest.debug=True
books=[
{"id":1,"name":"angel"},
{"id":2, "name": "张三"},
{"id":3, "name": "lisi"},
]
@apptest.route("/book/<int:book_id>")
def book_detail(book_id):
for book in books:
if book_id ==book['id']:
return book
return f"id为{book_id}没有找到!!"
@apptest.route("/book/list")
def booklist():
for book in books:
book['url']=url_for("book_detail",book_id=book['id']) #即使book_detail的方法的url改变,url_for也会自动去跟踪
return jsonify(books)
@apptest.route("/profile")
def profile():
user_id=request.args.get("id")
if user_id:
return "用户个人中心"
else:
return redirect(url_for("index"))
@apptest.route('/')
def index():
return {"username":"我是首页"}
if __name__=='__main__':
apptest.run()
|