當用戶註冊時,我想記錄他們的IP地址。我如何訪問當前的IP並將其設置爲列默認值?如何將用戶的IP設置爲列默認值?
regi_ip = db.Column(db.String(24), default='???')
當用戶註冊時,我想記錄他們的IP地址。我如何訪問當前的IP並將其設置爲列默認值?如何將用戶的IP設置爲列默認值?
regi_ip = db.Column(db.String(24), default='???')
您可以使用request.remote_addr
來獲取發送當前請求的遠程IP。您不能將其設置爲列默認值,因爲模型定義發生在請求之外,並且無論如何設置默認值都沒有意義。創建新用戶時,只需說my_new_user.regi_ip = request.remote_addr
。
有可能有這樣的computed default value,但是不明智這將是:
def remote_addr():
return request.remote_addr
...
regi_ip = db.Column(db.String(24), default=remote_addr)
但是,您可能希望確保該remote_addr
做了明智的,即使沒有請求可用(也許具有默認值的try/except
)。
您能否詳細說明一下?你想創建表嗎?存儲值?取值? – Celeo 2014-09-30 17:49:31
每個新記錄都必須保留用戶ip地址。 – scalloty 2014-09-30 17:59:08