41 lines
1.8 KiB
HTML
41 lines
1.8 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}登录{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="row justify-content-center">
|
|
<div class="col-md-6 col-lg-5">
|
|
<div class="card shadow-sm">
|
|
<div class="card-body p-4">
|
|
<h2 class="card-title text-center mb-4">用户登录</h2>
|
|
<form method="POST" action="{{ url_for('auth.login') }}" novalidate>
|
|
{{ form.hidden_tag() }}
|
|
<div class="mb-3">
|
|
{{ form.email.label(class="form-label") }}
|
|
{{ form.email(class="form-control") }}
|
|
{% for error in form.email.errors %}
|
|
<div class="invalid-feedback d-block">{{ error }}</div>
|
|
{% endfor %}
|
|
</div>
|
|
<div class="mb-3">
|
|
{{ form.password.label(class="form-label") }}
|
|
{{ form.password(class="form-control") }}
|
|
{% for error in form.password.errors %}
|
|
<div class="invalid-feedback d-block">{{ error }}</div>
|
|
{% endfor %}
|
|
</div>
|
|
<div class="mb-3 form-check">
|
|
{{ form.remember_me(class="form-check-input") }}
|
|
{{ form.remember_me.label(class="form-check-label") }}
|
|
</div>
|
|
<div class="d-grid">
|
|
{{ form.submit(class="btn btn-primary btn-lg") }}
|
|
</div>
|
|
</form>
|
|
<hr>
|
|
<p class="text-center mb-0">新用户? <a href="{{ url_for('auth.register') }}">点此注册</a></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |