使用flask框架搭建web项目的简单操作

本文深入探讨了Flask框架的高级应用技巧,包括静态资源定位、路由设置、数据块继承、for循环优化、表单验证及错误处理等,旨在帮助开发者提升代码效率和项目维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用这些基本操作可以节省大量重复代码,提高了代码复用性,使项目更加高内聚,低耦合.

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 %}

后续操作更新中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值