先贴上相关代码,就是狗书的源码
app/models.py
class User(UserMixin, db.Model):
member_since = db.Column(db.DateTime(), default=datetime.utcnow)
last_seen = db.Column(db.DateTime(), default=datetime.utcnow)
def ping(self):
self.last_seen = datetime.utcnow()
db.session.add(self)
app/auth/views.py
@auth.before_app_request
def before_request():
if current_user.is_authenticated:
current_user.ping()
代码是在本地测试的,我是9月份的时候添加的3个用户,但发现每次run,用户资料页的member_since值都会刷新成当天的日期,last_seen值倒是没问题。请问是哪里出问题了?
Kod berikut hendaklah ditulis dalam templat pemaparan
Saya tidak tahu rupa kod poster asal, sebaiknya siarkan dan lihat
PS: Selepas perbincangan dan bertukar-tukar dengan poster asal, saya mendapati bahawa ia sepatutnya berada dalam model. Ahli atribut telah ditambahkan pada pangkalan data selepas pengguna dibuat, jadi tiada data di dalamnya dan semasa pemaparan sebelumnya. , member_since telah ditambahkan pada model = Fungsi datetime.utcnow db.Column(db.DateTime(), default=datetime.utcnow) telah dicetuskan dan tarikh telah dimuat semula, tetapi ia tidak dimasukkan ke dalam pangkalan data oleh db. session.add, menyebabkan datetime dicetuskan setiap kali anda log masuk. Fungsi .utcnow, jadi ia adalah tarikh terkini setiap kali.