文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python 宏使用详解

2023-01-31 05:49

关注

什么是宏?

宏类似python中的函数,可以传参数进去,但不能有返回值!在实际开发项目中,可以将一些复用代码抽取出来放到宏中,然后把不固定的值作为变量!

宏的使用!

在讲宏使用之前,我们先网上找一张表单注册的图片,图片如下:

然后我们通过模板渲染的方式来实现这个表单!

新建一个test.py文件,代码如下(相信很多朋友都记得滚瓜烂熟了!):


from flask import Flask,render_template

app = Flask(__name__)

@app.route("/")
def index():
    return render_template("test.html")

if __name__ == "__main__":
    app.run(debug=True)

再在templates文件下新建一个test.html文件,代码如下:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户注册</title>
</head>
<body>
      <form action="#" method="post">
          <table>
              <tr>
                  <td>用户名</td>
                  <td><input type="text" name="name" value=""></td>
              </tr>
              <tr>
                  <td>密码</td>
                  <td><input type="password" name="password1" value=""></td>
              </tr>
              <tr>
                  <td>确认密码</td>
                  <td><input type="password" name="password2" value=""></td>
              </tr>
              <tr>
                  <td>E-Mail:</td>
                  <td><input type="text" name="email" value=""></td>
              </tr>
              <tr>
                  <td>手机号码</td>
                  <td><input type="text" name="m-phone" value=""></td>
              </tr>
              <tr>
                  <td>固定电话</td>
                  <td><input type="text" name="tel" value=""></td>
              </tr>
              <tr>
                  <td>家庭住址</td>
                  <td><input type="text" name="address" value=""></td>
              </tr>
              <tr>
                  <td><input type="submit" name="name" value="注册"></td>
                    <td><input type="submit" name="name" value="登录"></td>
              </tr>
          </table>
      </form>
</body>
</html>

运行test.py文件,结果如下:

相信对很多朋友来说,实现这个表单并不是什么难事!

上述代码虽然实现了表单注册这个界面!但是代码太复杂了,每次都得去input一下,太麻烦了!!是吧??

下面我们就用宏来实现这个效果!

首先,我们分析test.html文件表单的共性,是不是都有一个input标签啊!是不是??

OK,下面我们就把这段代码抽取出来放到宏中,代码如下:


{#{% macro %}{% endmarco %}定义宏的标准语法,起始跟结束标签 #} 
{#macro后面的input为宏的名字,括号中的值为宏的参数,例如:type="text"表示默认文本类型为text #}
{% macro input(name,type="text",value="") %}
{#将input宏后面的name,type,value参数作为变量传入name,type,value值中 #}
   <input name="{{ name }}" type="{{ type }}" value="{{ value }}">
{% endmacro %}

宏定义好了,我们在test.html文件中把之前写的form表单代码删除掉。再输入下方代码:


<form action="#">
            <table>
                 <tr>
                <td>姓名:</td>
                <td>{{ input("username") }}</td>
            </tr>
            <tr>
                <td>密码:</td>
                <td>{{ input("password1",type="password") }}</td>
            </tr>
            <tr>
                <td>确认密码:</td>
                <td>{{ input("password2",type="password") }}</td>
            </tr>
            <tr>
                <td>E-Mail:</td>
                <td>{{ input("email") }}</td>
            </tr>
            <tr>
                <td>手机号码:</td>
                <td>{{ input("phone") }}</td>
            </tr>
            <tr>
                <td>固定电话:</td>
                <td>{{ input("tel") }}</td>
            </tr>
            <tr>
                <td>地址:</td>
                <td>{{ input("address") }}</td>
            </tr>
            <tr>
                <td>{{ input("zuce",type="submit",value="注册") }}</td>
                <td>{{ input("denglu",type="submit",value="登录") }}</td>
            </tr>
            </table>
        </form>

代码是不是比之前简洁多了,看着也舒服。

说了那么多,还不知道运行结果咋样,我们运行试试!结果如下:

在实际开发项目中,宏用的地方还是挺多的,希望朋友们能够学会它,只有学会它,我们在开发项目中才能得心应手!

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯