欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python sqlalchemy時(shí)間戳及密碼管理實(shí)現(xiàn)代碼詳解

 更新時(shí)間:2020年08月01日 15:43:26   作者:viewts  
這篇文章主要介紹了Python sqlalchemy時(shí)間戳及密碼管理實(shí)現(xiàn)代碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、時(shí)間戳

實(shí)際開發(fā)中,我們一般希望create_time和update_time這兩個(gè)屬性能自動設(shè)置,所以在建表的時(shí)候需要在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())

關(guān)于datetime轉(zhuǎn)時(shí)間戳的方法,例如‘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)化為時(shí)間戳:

timestamp = int(time.mktime(timetuple))

那么,時(shí)間戳又要如何轉(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設(shè)置成只寫,使用verify_password來校驗(yàn)密碼。

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

相關(guān)文章

  • 如何利用python實(shí)現(xiàn)把視頻轉(zhuǎn)換成gif圖形

    如何利用python實(shí)現(xiàn)把視頻轉(zhuǎn)換成gif圖形

    將視頻轉(zhuǎn)換為 GIF 圖形的重要性不言而喻,在信息快速傳播和多種社交平臺廣泛應(yīng)用的背景下,GIF 動畫不僅為個(gè)人用戶提供了一種輕松的表達(dá)方式,本文給大家介紹了如何利用python實(shí)現(xiàn)把視頻轉(zhuǎn)換成gif圖形,需要的朋友可以參考下
    2024-10-10
  • python 執(zhí)行函數(shù)的九種方法

    python 執(zhí)行函數(shù)的九種方法

    這篇文章主要介紹了python 執(zhí)行函數(shù)的九種方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python 使用自定義時(shí)間滾動日志處理器

    Python 使用自定義時(shí)間滾動日志處理器

    本教程介紹了如何使用Python的logging模塊和自定義的日志處理器來按時(shí)間滾動日志文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Django中的Model操作表的實(shí)現(xiàn)

    Django中的Model操作表的實(shí)現(xiàn)

    這篇文章主要介紹了Django中的Model操作表的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • Python OpenCV視頻截取并保存實(shí)現(xiàn)代碼

    Python OpenCV視頻截取并保存實(shí)現(xiàn)代碼

    這篇文章主要介紹了Python OpenCV視頻截取并保存實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • python使用psutil模塊獲取系統(tǒng)狀態(tài)

    python使用psutil模塊獲取系統(tǒng)狀態(tài)

    作為程序猿,大家可能都熟悉linux系統(tǒng)的基礎(chǔ)信息獲取方法都是通過shell來獲取,但是在python中,我們還可以使用psutil模塊來獲取系統(tǒng)信息。psutil模塊把shell查看系統(tǒng)基礎(chǔ)信息的功能都包裝了下,使用更加簡單,功能豐富。
    2016-08-08
  • python創(chuàng)建和使用字典實(shí)例詳解

    python創(chuàng)建和使用字典實(shí)例詳解

    字典是python中唯一內(nèi)建的映射類型。字典中的值并沒有特殊的順序,但是都存儲在一個(gè)特定的鍵(key)里。
    2013-11-11
  • python 寫的一個(gè)爬蟲程序源碼

    python 寫的一個(gè)爬蟲程序源碼

    這篇文章主要介紹了python 寫的一個(gè)爬蟲程序源碼,需要的朋友可以參考下
    2016-02-02
  • 基于MTCNN/TensorFlow實(shí)現(xiàn)人臉檢測

    基于MTCNN/TensorFlow實(shí)現(xiàn)人臉檢測

    這篇文章主要為大家詳細(xì)介紹了基于MTCNN/TensorFlow實(shí)現(xiàn)人臉檢測,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 讀取本地json文件,解析json(實(shí)例講解)

    讀取本地json文件,解析json(實(shí)例講解)

    下面小編就為大家分享一篇讀取本地json文件,解析json的實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12

最新評論