使用这些基本操作可以节省大量重复代码,提高了代码复用性,使项目更加高内聚,低耦合.
1.静态资源定位(防止在文件夹层级复杂的情况下,定位资源文件出错导致显示不了效果)
//home目录下的comments.html文件
<a href="{{ url_for('home.comments') }}"></a>
<script src="{{ url_for('static',filename='base/js/wow.min.js') }}"></script>
<link rel="stylesheet" href="{{ url_for('static',filename='base/css/animate.css') }}">
2.路由设置
from flask import render_template, redirect, url_for
//跳转
@home.route("/login/")
def login():
return render_template("home/login.html")
//重定向
@home.route("/logout/")
def logout():
return redirect(url_for("home.login"))
3.数据块
//继承
{% extends "home/home.html" %}
{% block css %}
<style>
</style>
{% endblock %}
{% block content %}
{% include "home/menu.html" %}
{% endblock %}
{% block js %}
<script>
</script>
{% endblock %}
4.for循环(循环重复的模板性的h5代码)
{% for v in range(1,13) %}
{% endfor %}
5.表单验证时使用模板
<div class="login-box-body">
{% for msg in get_flashed_messages() %}
<p class="login-box-msg" style="color: red;">{{ msg }}</p>
{% endfor %}
<form method="POST" id="form-data">
<div class="form-group has-feedback">
{{ form.account }}
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
{# 错误信息打印#}
{% for err in form.account.errors %}
<div class="col-md-12">
<font style="color:red">{{ err }}</font>
</div>
{% endfor %}
</div>
<div class="form-group has-feedback">
{{ form.pwd }}
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
{# 错误信息打印#}
{% for err in form.pwd.errors %}
<div class="col-md-12">
<font style="color:red">{{ err }}</font>
</div>
{% endfor %}
</div>
<div class="row">
<div class="col-xs-8">
</div>
<div class="col-xs-4">
{{ form.submit }}
{#伪装保护#}
{{ form.csrf_token }}
</div>
</div>
</form>
</div>
6.if语句(消息闪现)
{% with errors = get_flashed_messages(category_filter=["error"]) %}
{% if errors %}
<div class="alert-message block-message error">
<a class="close" href="#">×</a>
<ul>
{% for msg in errors %}
<li>{{ msg }}</li>
{% endfor %}
</ul>
</div>
{% endif %}
{% endwith %}
后续操作更新中