iT邦幫忙

1

Flask 全域變數問題

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20221006/20131382h41fLzTkxP.png
https://ithelp.ithome.com.tw/upload/images/20221006/20131382peRSy4oiDg.png

想請問大神們要怎麼FLASK要怎麼在route裡面更改外面的變數,再讓其他route也能抓來用。這邊是想在圖一的地方讓usertemp=user_account,想讓圖二redirect(url_for())裡面也能抓到usertemp這個字串或參數。

froce iT邦大師 1 級 ‧ 2022-10-06 22:29:36 檢舉
url_for就只是幫你拚出route的網址。
你圖一的url_for('memberad', user=usertemp)
實際上只是叫你的browser去 memberad 那條網址,後面加 querystring而已。
(類似這樣: /memberad ?user=froce)

所以你可以在要取用的路徑那邊檢查GET裡有沒有user這個欄位就好。
---
不過...
帳號管理沒人在用明碼的網址傳的啦
---
然後...
請不要貼圖片,用程式碼區塊貼程式碼上來
OK之後會貼程式碼,只是抓了很多其他檔案的東西其他人應該會跑不動
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
I code so I am
iT邦高手 1 級 ‧ 2022-10-07 11:05:43

使用 global。

x=1

def test()
    global x
    x = 3
    
print(x)
froce iT邦大師 1 級 ‧ 2022-10-07 11:13:44 檢舉

這個不知道會不會有洩漏或競合問題,畢竟是在網頁用的。

不會,這只是違反系統設計principle。
也可以使用 session 或 singleton。

0
熊熊工程師
iT邦研究生 2 級 ‧ 2022-10-08 17:06:24
  • 如果是帳號的話,可以考慮寫進資料庫裡
  • 如果是其他東西的話,可以看看是不是能放進 cookies 內

我要發表回答

立即登入回答