def view(u, id): message = Messages.one(id=id) # if u.id == mail.receiver_id or u.id == mail.sender_id: if u.id in [message.receiver_id, message.sender_id]: return render_template('mail/detail.html', message=message) else: return redirect(url_for('py_mail.index'))
def view(id): mail = Messages.one(id=id) u = current_user() if u.id in [mail.receiver_id, mail.sender_id]: return render_template('mail/detail.html', mail=mail) else: return redirect(url_for('.index'))
def view(id): message = Messages.one(id=id) u = current_user() # if u.id == mail.receiver_id or u.id == mail.sender_id: if u.id in [message.receiver_id, message.sender_id]: return render_template('mail/detail.html', message=message, user=u) else: return redirect(url_for('.index'))
def view(id): mail = Messages.one(id=id) u = current_user() # if u.id == mail.receiver_id or u.id == mail.sender_id: if u.id in [mail.receiver_id, mail.sender_id]: send_name = User.one(id=mail.sender_id).username recev_name = User.one(id=mail.receiver_id).username return render_template('mail/detail.html', mail=mail, sname=send_name, rname=recev_name) else: return redirect(url_for('.index'))
def view(id): message = Messages.one(id=id) u = current_user() token = new_csrf_token() # if u.id == mail.receiver_id or u.id == mail.sender_id: if u.id in [message.receiver_id, message.sender_id]: sender = User.one(id=message.sender_id) receiver = User.one(id=message.receiver_id) return render_template('mail/detail.html', message=message, sender=sender, receiver=receiver, token=token) else: return redirect(url_for('.index'))
def view(id): message = Messages.one(id=id) u = current_user() sender = User.one(id=message.sender_id) receiver = User.one(id=message.receiver_id) if u.id in [message.receiver_id, message.sender_id]: return render_template('mail/detail.html', message=message, user=u, sender=sender, receiver=receiver) else: return redirect(url_for('.index'))
def view(id): message = Messages.one(id=id) u = current_user() # if u.id == message.receiver_id or u.id == message.sender_id: if u.id in [message.receiver_id, message.sender_id]: s = User.one(id=message.sender_id) sender = s.username r = User.one(id=message.receiver_id) receiver = r.username return render_template('message/detail.html', message=message, sender=sender, receiver=receiver) else: return redirect(url_for('.index'))
def view(id): message: Messages = Messages.one(id=id) u = current_user() is_sender = u.id == message.sender_id is_receiver = u.id == message.receiver_id if is_receiver or is_sender: if is_receiver and not message.been_read: message.been_read = True message.save() key = 'message_id_{}.message'.format(message.id) data_cache.delete(key) return render_template('mail/detail.html', message=message, user=u) else: return abort(404)
def cached_message_id2message(message_id): """ 根据Message id 返回 Message 对象。 如果缓存命中,则从缓存中拉取包含 Message 信息的字典,使用get_model得到Message对象。 如果缓存穿透,则从数据库查询,拿到数据后将数据序列化后存储到redis。 """ key = 'message_id_{}.message'.format(message_id) try: # 拿到json 格式的数据 v = data_cache[key] except KeyError: # 如果没有缓存 message = Messages.one(id=message_id) v = json.dumps(message.json()) data_cache.set(key, v) log('缓存miss,向数据库拉取数据,重建缓存') return message else: # json序列化为dict,dict生成Info对象 d = json.loads(v) message = Messages.get_model(d) log('缓存命中,直接使用') return message