首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jinja2.exceptions.TemplateSyntaxError jinja2.exceptions.TemplateSyntaxError:意外的“}”,“预期”

jinja2.exceptions.TemplateSyntaxError jinja2.exceptions.TemplateSyntaxError:意外的“}”,“预期”
EN

Stack Overflow用户
提问于 2021-12-30 18:40:13
回答 1查看 1.8K关注 0票数 -2

我是Python新手,我被这个错误困住了。我已经反复检查了我的脚步,但不知道还能做些什么。请帮帮我。

代码语言:javascript
复制
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/flask/app.py", line 2091, in __call__
    return self.wsgi_app(environ, start_response)
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/flask/app.py", line 2076, in wsgi_app
    response = self.handle_exception(e)
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/flask/app.py", line 2073, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/flask/app.py", line 1518, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/flask/app.py", line 1516, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/flask/app.py", line 1502, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/Users/d/PycharmProjects/interpretersblog/Flask_Blog/flaskblog.py", line 28, in register
    return render_template('register.html', title='Register', form=form)
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/flask/templating.py", line 148, in render_template
    ctx.app.jinja_env.get_or_select_template(template_name_or_list),
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/jinja2/environment.py", line 1068, in get_or_select_template
    return self.get_template(template_name_or_list, parent, globals)
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/jinja2/environment.py", line 997, in get_template
    return self._load_template(name, globals)
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/jinja2/environment.py", line 958, in _load_template
    template = self.loader.load(self, name, self.make_globals(globals))
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/jinja2/loaders.py", line 137, in load
    code = environment.compile(source, name, filename)
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/jinja2/environment.py", line 757, in compile
    self.handle_exception(source=source_hint)
  File "/Users/d/PycharmProjects/interpretersblog/venv/lib/python3.7/site-packages/jinja2/environment.py", line 925, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "/Users/d/PycharmProjects/interpretersblog/Flask_Blog/templates/register.html", line 13, in template
    {{ form.email.label (class="form-control-label"}}
jinja2.exceptions.TemplateSyntaxError: unexpected '}', expected ')'

这是forms.py

代码语言:javascript
复制
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField, BooleanField
from wtforms.validators import DataRequired, Length, Email, EqualTo

class RegistrationForm(FlaskForm):
    username = StringField('Username',
                           validators=[DataRequired(), Length(min=4, max=20)])

    email = StringField('Email',
                        validators=[DataRequired(), Email()])

    password = PasswordField('Password',
                             validators=[DataRequired(), EqualTo('password')])

    submit = SubmitField('Sign Up')

class LoginForm(FlaskForm):
    email = StringField('Email',
                        validators=[DataRequired(), Email()])

    password = PasswordField('Password',
                             validators=[DataRequired()])

    remember = BooleanField('Remember Me')

    submit = SubmitField('Login')

和register.html:

代码语言:javascript
复制
{% extends "layout.html" %}
{% block content %}
    <div class="content-section">
        <form method="POST" action="">
            {{ form.hidden_tag() }}
            <fieldset class="form-group">
                <legend class="border-bottom mb-4">Join Today!</legend>
                <div class="form-group">
                    {{ form.username.label (class="form-control-label") }}
                    {{ form.username.label (class="form-control form-control-lg") }}
                </div>
                <div class="form-group">
                    {{ form.email.label (class="form-control-label"}}
                    {{ form.email.label (class="form-control form-control-lg") }}
                </div>
                <div class="form-group">
                    {{ form.password.label (class="form-control-label"}}
                    {{ form.password.label (class="form-control form-control-lg") }}
                    <div class="invalid-feedback">
                            {% for error in form.confirm_password.errors %}
                                <span>{{ error }}</span>
                            {% endfor %}
                        </div>
                    {% else %}
                        {{ form.confirm_password(class="form-control form-control-lg") }}
                    {% endif %}
                </div>
            </fieldset>
            <div class="form-group">
                {{ form.submit(class="btn btn-outline-info") }}
            </div>
        </form>
    </div>
    <div class="border-top pt-3">
        <small class="text-muted">
            Already Have An Account? <a class="ml-2" href="{{ url_for('login') }}">Sign In</a>
        </small>
    </div>
{% endblock content %}

EN

回答 1

Stack Overflow用户

发布于 2021-12-30 19:50:15

代码语言:javascript
复制
{% extends "layout.html" %}
{% block content %}
    <div class="content-section">
        <form method="POST" action="">
            {{ form.hidden_tag() }}
            <fieldset class="form-group">
                <legend class="border-bottom mb-4">Join Today!</legend>
                <div class="form-group">
                    {{ form.username.label (class="form-control-label") }}
                    {{ form.username(class="form-control form-control-lg") }}
                </div>
                <div class="form-group">
                    {{ form.email.label (class="form-control-label") }}
                    {{ form.email(class="form-control form-control-lg") }}
                </div>
                <div class="form-group">
                    {{ form.password.label (class="form-control-label") }}
                    {{ form.password(class="form-control form-control-lg") }}
                </div>
                 <div class="form-group">
                    {{ form.confirm_password.label (class="form-control-label") }}
                    {{ form.confirm_password(class="form-control form-control-lg") }}
                </div>
            </fieldset>
            <div class="form-group">
                {{ form.submit(class="btn btn-outline-info") }}
            </div>
        </form>
    </div>
    <div class="border-top pt-3">
        <small class="text-muted">
            Already Have An Account? <a class="ml-2" href="{{ url_for('login') }}">Sign In</a>
        </small>
    </div>
{% endblock content %}

代码语言:javascript
复制
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField, BooleanField
from wtforms.validators import DataRequired, Length, Email, EqualTo

class RegistrationForm(FlaskForm):
    username = StringField('Username', validators=[DataRequired(), Length(min=2, max=20)])

    email = StringField('Email', validators=[DataRequired(), Email()])

    password = PasswordField('Password', validators=[DataRequired(), EqualTo('password')])
    confirm_password = PasswordField('Confirm Password', validators=[DataRequired(), EqualTo('password')])

    submit = SubmitField('Sign Up')

class LoginForm(FlaskForm):

    email = StringField('Email', validators=[DataRequired(), Email()])

    password = PasswordField('Password', validators=[DataRequired(), EqualTo('password')])
    remember = BooleanField('Remember me ')

    submit = SubmitField('Login')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70535495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档