簡體   English   中英

在flask @ app.route('/ page')之間傳遞參數

[英]Pass parameters between flask @app.route('/page')

我試圖將我從Random()獲得的值傳遞給Help(),但它返回為AttributeError:'NoneType'對象沒有屬性'app'。

from flask import Flask, request, render_template
from random import randint

@app.route('/help')
def Help(Random):
   PassingRandom = Random

   return render_template("help.html", PassingRandom=PassingRandom)

def Random():
   Value = randint(0,100)
   return Value

MyValue = Random()

if __name__ == "__main__":
   Help(MyValue)
   app.run(debug=True)

它們是燒瓶內傳遞參數而不返回錯誤的一種方法,最好是不使用全局變量。

您可以允許用戶通過URL將值傳遞給函數,也可以在Help內調用Random

@app.route('/help/<random>')
def Help(random):
    return render_template("help.html", PassingRandom=random)

或者,通過在Help調用函數Random

@app.route('/help')
def Help():
   PassingRandom = Random()
   return render_template("help.html", PassingRandom=PassingRandom)

哇...我強烈建議您閱讀有關Flask的一些教程,但僅作簡單說明。

首先,您從未聲明過您的應用程序。

其次,您不應該(通常)直接調用@ app.route函數。 一般的想法是,您可以通過URL(在您的情況下為/ help)來訪問功能。

如果您希望在整個應用程序中使用相同的隨機值,那么可以,全局變量就是答案。 如果您希望每次訪問/ help時都更改它,只需從那里隨機調用。

順便說一句,只是一點點PEP8可以使白天的功能/變量名稱變亮,應該小寫,並且不要使用與模塊名稱相同的名稱(例如,Random)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM