如何检查页面烧瓶的总浏览量?
How to check the total views on a page-flask?
我正在构建一个允许用户查看我的简历的应用程序。我想看看每个页面有多少浏览量以及来自哪个用户。
我有一次访问 table,我希望每次查看页面时都能将页面名称与用户 ID 一起存储。所以每条记录都是对该页面的一次新访问。
有什么建议或更好的方法吗?
model.py
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), index=True, unique=True)
visits = db.relationship('Visit', backref='user', lazy='dynamic')
password_hash = db.Column(db.String(128))
def __repr__(self):
return 'Username: {}'.format(self.username)
def set_password(self, password):
self.password_hash = generate_password_hash(password)
def check_password(self, password):
return check_password_hash(self.password_hash, password)
def update_cv_looks(self):
self.cv_looks += 1
db.session.add(self)
db.session.commit()
def page_visits(self, pagename):
list_of_visits = self.visits.filter_by(page_name=pagename).all()
return len(list_of_visits)
class Visit(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
page_name = db.Column(db.String(25))
def __repr__(self):
return 'Page: {}'.format(self.page_name)
routes.py
@app.route('/')
@app.route('/cover')
@login_required
def cover():
return render_template('cover.html', title='Cover Page')
@app.route('/index')
@login_required
def index():
current_user.page_visits('index')
return render_template(
'index.html', title='Home Page')
将其放在访问 class 下的 model.py 中。
def update_visits(self, user_id, pagename):
self.user_id, self.page_name = user_id, pagename
db.session.add(self)
db.session.commit()
将其放在索引 routes.py 下。
v = Visit()
v.update_visits(user_id=current_user.id, pagename='index')
我正在构建一个允许用户查看我的简历的应用程序。我想看看每个页面有多少浏览量以及来自哪个用户。
我有一次访问 table,我希望每次查看页面时都能将页面名称与用户 ID 一起存储。所以每条记录都是对该页面的一次新访问。
有什么建议或更好的方法吗?
model.py
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), index=True, unique=True)
visits = db.relationship('Visit', backref='user', lazy='dynamic')
password_hash = db.Column(db.String(128))
def __repr__(self):
return 'Username: {}'.format(self.username)
def set_password(self, password):
self.password_hash = generate_password_hash(password)
def check_password(self, password):
return check_password_hash(self.password_hash, password)
def update_cv_looks(self):
self.cv_looks += 1
db.session.add(self)
db.session.commit()
def page_visits(self, pagename):
list_of_visits = self.visits.filter_by(page_name=pagename).all()
return len(list_of_visits)
class Visit(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
page_name = db.Column(db.String(25))
def __repr__(self):
return 'Page: {}'.format(self.page_name)
routes.py
@app.route('/')
@app.route('/cover')
@login_required
def cover():
return render_template('cover.html', title='Cover Page')
@app.route('/index')
@login_required
def index():
current_user.page_visits('index')
return render_template(
'index.html', title='Home Page')
将其放在访问 class 下的 model.py 中。
def update_visits(self, user_id, pagename):
self.user_id, self.page_name = user_id, pagename
db.session.add(self)
db.session.commit()
将其放在索引 routes.py 下。
v = Visit()
v.update_visits(user_id=current_user.id, pagename='index')