Flask - Xây dựng URL

Các url_for()hàm rất hữu ích để tạo động một URL cho một chức năng cụ thể. Hàm chấp nhận tên của một hàm làm đối số đầu tiên và một hoặc nhiều đối số từ khóa, mỗi đối số tương ứng với phần biến của URL.

Tập lệnh sau minh họa việc sử dụng url_for() chức năng.

from flask import Flask, redirect, url_for
app = Flask(__name__)

@app.route('/admin')
def hello_admin():
   return 'Hello Admin'

@app.route('/guest/<guest>')
def hello_guest(guest):
   return 'Hello %s as Guest' % guest

@app.route('/user/<name>')
def hello_user(name):
   if name =='admin':
      return redirect(url_for('hello_admin'))
   else:
      return redirect(url_for('hello_guest',guest = name))

if __name__ == '__main__':
   app.run(debug = True)

Tập lệnh trên có chức năng user(name) chấp nhận một giá trị cho đối số của nó từ URL.

Các User() hàm kiểm tra xem một đối số nhận được có khớp không ‘admin’hay không. Nếu nó khớp, ứng dụng sẽ được chuyển hướng đếnhello_admin() sử dụng chức năng url_for(), nếu không thì hello_guest() hàm truyền đối số nhận được làm tham số khách cho nó.

Lưu đoạn mã trên và chạy từ trình bao Python.

Mở trình duyệt và nhập URL là - http://localhost:5000/user/admin

Phản hồi của ứng dụng trong trình duyệt là -

Hello Admin

Nhập URL sau vào trình duyệt - http://localhost:5000/user/mvl

Phản hồi của ứng dụng hiện thay đổi thành -

Hello mvl as Guest