首先创建User模型

class User(UserMixin,db.Model):
    __tablename__ = 'users'
  #..

name = db.Column(db.String(64)) location = db.Column(db.String(64)) about_me = db.Column(db.Text()) 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()
#         if not current_user.confirmed \
#                 and request.endpoint[:5] != 'auth.' :
#             return redirect(url_for('auth.unconfirmed'))

用户资料页面

app/main/views.py

@main.route('/user/<username>')
def user(username):
    user = User.query.filter_by(username=username).first()
    if user is None:
        abort(404)
    return render_template('user.html', user=user)

用户资料页面的模板

{% block page_content %}
    <div class="page-header">
    <h1>{{ user.username }}</h1>
    </div>
    {% if user.name or user.location %}
    <p>
        {% if user.name %}{{ user.name }}{% endif %}
        {% if user.about_me  %}<p>{{ user.about_me }}</p>{% endif %}
        {% if user.location %}
        From<a href="http://maps.google.com/?q={{ user.location }}">{{ user.location }}</a>
        {% endif %}
    </p>
    {% endif %}

    {% if current_user.is_administrator() %}
        <p><a href="mailto:{{ user.email }}" >{{ user.email }}</a></p>
        <a class="btn btn-danger" href="{{ url_for('.edit_profile_admin',id=user.id) }}">Edit</a>
    {% endif %}
    <p>
        Member since {{ moment(user.member_since).format('L') }}.
        Last seen {{ moment(user.last_seen).fromNow() }}
    </p>

{% endblock %}
View Code

相关文章:

  • 2021-11-02
  • 2021-12-27
  • 2021-08-10
  • 2021-12-05
  • 2021-10-25
  • 2022-12-23
  • 2021-05-27
  • 2021-12-27
猜你喜欢
  • 2021-08-31
  • 2021-07-21
  • 2021-10-10
  • 2022-12-23
  • 2022-12-23
  • 2021-11-16
  • 2021-12-05
相关资源
相似解决方案