簡體   English   中英

如何從 Flask 在 HTML 頁面中添加數據

[英]How to add the data in HTML page from Flask

@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)

這是我的注冊碼,我面臨着一個挑戰,我必須將用戶名添加到 UI 頁面,並且它保留在所有不同部分的頁面中(在我正在構建的網站上)。

由於到處都需要用戶名,因此我將需要的部分添加到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 的了解為零

檢查“用戶加載程序功能”功能。 下面給出了一個代碼快照:

在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>

為了更好的解釋,請查看鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM