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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python sqlsever 时间_Python sqlalchemy时间戳及密码管理实现代码详解

發(fā)布時間:2023/12/18 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python sqlsever 时间_Python sqlalchemy时间戳及密码管理实现代码详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、時間戳

實際開發(fā)中,我們一般希望create_time和update_time這兩個屬性能自動設置,所以在建表的時候需要在model上特殊處理一下:

from sqlalchemy.sql import func

class User(db.Model):

__tablename__ = 'user'

id = db.Column(db.Integer, primary_key = True)

email = db.Column(db.String(128))

password_hash = db.Column(db.String(128))

create_time = db.Column(db.DateTime, server_default = func.now())

update_time = db.Column(db.DateTime, server_default = func.now(), onupdate = func.now())

關于datetime轉(zhuǎn)時間戳的方法,例如‘2020-07-09 14:15:31'(從數(shù)據(jù)庫讀取一般為字符串),首先需要將它轉(zhuǎn)換成timetuple:

import time

timetuple = time.strptime('2020-07-09 14:15:31', '%Y-%m-%d %H:%M:%S')

如果你拿到的是datetime對象,那么更簡單:

now = datetime.datetime.now()

timetuple = now.timetuple()

然后將timetuple轉(zhuǎn)化為時間戳:

timestamp = int(time.mktime(timetuple))

那么,時間戳又要如何轉(zhuǎn)回datetime呢?方法如下:

last_time = datetime.datetime.fromtimestamp(timestamp)

二、密碼管理

在數(shù)據(jù)庫中一般不要明文存儲密碼,可以用散列值替換,修改model:

from sqlalchemy.sql import func

from werkzeug.security import generate_password_hash, check_password_hash

class User(db.Model):

__tablename__ = 'user'

id = db.Column(db.Integer, primary_key = True)

email = db.Column(db.String(128))

password_hash = db.Column(db.String(128))

create_time = db.Column(db.DateTime, server_default = func.now())

update_time = db.Column(db.DateTime, server_default = func.now(), onupdate = func.now())

@property

def password(self):

raise AttributeError('password is not a readable attribute')

@password.setter

def password(self, password):

self.password_hash = generate_password_hash(password)

def verify_password(self, password):

return check_password_hash(self.password_hash, password)

將password設置成只寫,使用verify_password來校驗密碼。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持我們。

本文標題: Python sqlalchemy時間戳及密碼管理實現(xiàn)代碼詳解

本文地址: http://www.cppcns.com/jiaoben/python/329600.html

總結

以上是生活随笔為你收集整理的python sqlsever 时间_Python sqlalchemy时间戳及密码管理实现代码详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。