日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

flask使用

發布時間:2025/3/21 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flask使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 基本實現過程
    • 應用
    • 從 url 接收變量
    • 構建url
    • html 向 路由發送信息
    • html 和路由之間傳送數據
    • 按鈕觸發事件
    • 頁面顯示表單
  • 在服務器運行代碼

基本實現過程

應用

from flask import Flask app = Flask(__name__)@app.route('/') def hello_world():return 'Hello World'if __name__ == '__main__':app.run(host = '0.0.0.0', port = 5000)

應用主體是Flask(__name__)
route 是路由,表示到了哪一步需要調用哪個函數
必須有主函數,調用run

從 url 接收變量

@app.route('/hello/<name>')

當輸入 url / hello / myname 時 name 會直接獲取 myname的數據

構建url

從一個界面跳轉到另外一個界面

@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))

需要引入 flask 中的 redirect 和 url_for 模塊 ,url_for傳入函數名和函數對應需要的參數

html 向 路由發送信息

<html><body><form action = "http://localhost:5000/login" method = "post"><p>Enter Name:</p><p><input type = "text" name = "nm" /></p><p><input type = "submit" value = "submit" /></p></form></body> </html>

action 是 路由位置,method 是傳輸的方式

@app.route('/login',methods = ['POST', 'GET']) def login():if request.method == 'POST':user = request.form['nm']return redirect(url_for('success',name = user))else:user = request.args.get('nm')return redirect(url_for('success',name = user))

需要從 flask 中導入 request 模塊
默認是用request模塊接收數據

html 和路由之間傳送數據

從 flask 導入模塊 render_template 并在主程序同一級建立文件夾templates,所有的html文件放在里面

<html lang="en"> <head><meta charset=UTF-8"><title>Title</title> </head> <body> 模板內容 </body> </html>

示例html

from flask import Flask, render_template app = Flask(__name__)@app.route('/') def index():return render_template('login.html')if __name__ == '__main__':app.run(debug=True) <html lang="en"> <head><meta charset=UTF-8"><title>Title</title> </head> <body> <br>{{ dic }} <br>{{ ls }} <br>{{ string }} <br>{{ num }} <br> </body> </html>

想要接收的變量要寫成 {{ name }} 空格,左右括號的格式絕對不能變

@app.route('/') def index():dic = {1: 'a', 2: 'b'}ls = [1, 2, 3]string = 'nihoa'num = 12return render_template('login.html',dic = dic,ls = ls,string = string,num = num)

傳遞參數的方式依舊是render_template, 特定參數的傳輸用 等號

按鈕觸發事件

<html> <head><script type = "text/javascript" src = "{{ url_for('static', filename = 'hello.js') }}"></script> </head><body> <input type="button" onclick="sayHello()" value="Say hello"/> </body> </html>

按鈕有函數onclick

from flask import Flask, render_templateapp = Flask(__name__)@app.route('/') def index():return render_template('login.html')if __name__ == '__main__':app.run(debug=True) function sayHello() {alter("Hello World") }

問題:運行時出現get js 404

頁面顯示表單

from flask import Flask, render_template, requestapp = Flask(__name__)@app.route('/') def student():return render_template('student.html')@app.route('/result', methods=['POST', 'GET']) def result():if request.method == 'POST':result = request.formreturn render_template("result.html", result=result)if __name__ == '__main__':app.run(debug=True)

注意在url旁邊的是methods復數拼寫

<form action = "http://localhost:5000/result" method = "POST"><p>Name <input type="text" name = "Name" /></p><p>Physics <input type="text" name = "Physics" /></p><p>Chemistry <input type = "text" name = "chemistry" /></p><p>Maths <input type = "text" name = "Mathematics /"/></p><p><input type = "submit" value = "submit" /></p> </form>

input 在 html 語法中不需要反對應,只有一行的話用/就夠了
input 有 type 和 name 兩種類型,name相當于是關鍵字,
在form中自動形成了字典

<!doctype html><table border = 1>{% for key, value in result.items() %}<tr><th> {{ key }} </th><td> {{ value }} </td></tr>{% endfor %}</table>

tr 表示 在一行 th表示行首,td表示行末

在服務器運行代碼

想要在服務器上運行flask代碼首先要在服務器上部署flask

總結

以上是生活随笔為你收集整理的flask使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。