@blueprint.route("/register/", methods=["GET", "POST"])
def register():
"""Register new user."""
form = RegisterForm(request.form)
print(form, form.username.data)
if form.validate_on_submit():
User.create(
username=form.username.data,
email=form.email.data,
password=form.password.data,
active=True,
)
flash("Thank you for registering. You can now log in.", "success")
return redirect(url_for("public.home"))
else:
flash_errors(form)
return render_template("public/register.html", form=form)
这是我的注册码,我面临一个挑战,我必须在用户界面页面上添加用户名,并且该用户名将保留在所有不同网段的页面中(在我正在构建的网站中)。
因为用户名在任何地方都是必需的,所以我需要它的地方我将其添加到了base.html,并在其他所有页面中导入/加载了该用户名。
当前,我无法设置从数据库获取用户名并将其添加到html页面的部分。
在html页面中,在这一部分中,我要导入此
<div class="user-card user-card--skin-dark notification-item-padding-x" style="background-image: '{{ asset_url_for("media/misc/bg-1.jpg")}}'">
<div class="user-card__avatar">
<img alt="Pic" class="hidden" src="{{ asset_url_for('media/users/300_25.jpg') }}">
<span class="badge badge--lg badge--rounded badge--bold font-success">
{{user.username}}
</span>
</div>
<div class="user-card__name">
{{user.first_name}
</div>
</div>
但是我无法添加。有人可以帮我吗?
ps我对前端技术不满意,并且对javascript的了解几乎为零
答案 0 :(得分:1)
检查“用户加载程序功能”功能。代码快照如下:
在models.py
中from app import login
@login.user_loader
def load_user(id):
return User.query.get(int(id))
在routes.py
中from flask_login import current_user, login_user
from app.models import User
@blueprint.route("/register/", methods=["GET", "POST"])
def register():
"""Register new user."""
form = RegisterForm(request.form)
print(form, form.username.data)
if form.validate_on_submit():
User.create(
username=form.username.data,
email=form.email.data,
password=form.password.data,
active=True,
)
flash("Thank you for registering. You can now log in.", "success")
return redirect(url_for("public.home"))
else:
flash_errors(form)
return render_template("public/register.html", form=form)
在html
<div class="user-card user-card--skin-dark notification-item-padding-x" style="background-image: '{{ asset_url_for("media/misc/bg-1.jpg")}}'">
<div class="user-card__avatar">
<img alt="Pic" class="hidden" src="{{ asset_url_for('media/users/300_25.jpg') }}">
<span class="badge badge--lg badge--rounded badge--bold font-success">
{{current_user.username}}
</span>
</div>
<div class="user-card__name">
{{user.first_name}
</div>
</div>
有关详细说明,请检查link。