Flask - Jinja2 не отображает заполнитель (переменную) в форме ввода - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь сделать заполнитель формы ввода на моем сайте. Я использую Python Flask, включая Jinja 2. У меня есть список строк в сценарии python, и я случайно выбираю одну для рендеринга с использованием Jinja2.

Это имя cplace (переменная). Но когда я использую эту переменную в Jinja2 как {{cplace}}, она не отображает значение. Отображается только «{{cplace}}».

from flask import Flask, render_template
from flask_wtf import Form 
from wtforms import StringField
from random import choice
from wtforms.validators import InputRequired, Email, Length, AnyOf
import random
from flask_bootstrap import Bootstrap

app = Flask(__name__)
Bootstrap(app)
app.config['SECRET_KEY'] = 'iamahnaf'



random_placeholders = ['What is Minecraft?', 'Minecraft VS Roblox', 'Why PUBG sucks..', 'Python VS C++', 'Bootstrap VS Semantic']



@app.route("/")
def hello():
    cplace = str(random.choice(random_placeholders))
    print(cplace)
    return render_template('index.html', cplace = cplace)


if __name__ == "__main__":
    app.run()
{% import "bootstrap/wtf.html" as wtf %}
<!DOCTYPE html>

<html lang="en">
    <head>
        <title>Welcome to Ahnaf Zamil's Website</title>
        <meta charset="utf-8">
        <link rel="shortcut icon" href="../static/images/favicon.ico" sizes="64x64">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script type="text/javascript" src="../static/js/bootstrap.min.js"></script>

    </head>
    <body>

    <form class="form-inline my-2 my-lg-0">
      <input type="text" class="form-control" id="srch" name="search" placeholder={{cplace}}>
      <button class="hvr-radial-out" type="submit">Search</button>
    </form>

    </body>
</html>

1 Ответ

0 голосов
/ 23 марта 2020

его отсутствие кавычек для заполнителя. Попробуйте.

<input type="text" class="form-control" id="srch" name="search" placeholder="{{ cplace }}">
...