1. 学着用模板——初识Jinja2

昨天被虚拟环境搞的很疲,感谢知乎上罗伊的指点,今天可以在Git Bash中自由开启虚拟环境自由飞翔了。

接着书本上的走,开始第3章。

—————-代码分割线start—————-

from flask import Flask, render_template  # 把Jinja2模板引擎集成到程序中 
from flask.ext.script import Manager # Flask调用扩展的方法是用flask.ext.ext_name

app = Flask(__name__)

manager = Manager(app) #关于Manager这个类,书上没有过多的解释

@app.route('/')
def index():
    return render_template('index.html') # call the template file

@app.route('/user/<name>')
def user(name):
    return render_template('user.html', name=name) # template file with argument
# 这里的name=name,前面的name是指模板user.html中的命名空间(对这个概念还不理解)
# 后面的name是指脚本中或者访问的URL中的变量值

if __name__ == '__main__':
    manager.run() # 注意这里不再是app.run()了

—————–代码分割线end————————–

看了下代码,from flask比之前多import了render_template函数,书上的解释是“render_template函数把Jinja2模板引擎集成到了程序中”。(duang! 主角就这么上场了!)相应的,要在flasky文件夹下新建个文件夹叫templates,用来存放html的模板。而且默认情况下,Flask会去程序文件夹中的templates子文件夹中寻找模板。

切换到3a版本跑一下,报错,找不到模块flask.ext.script,往前翻了一下,原来这是Flask的一个扩展,需要安装整合到程序中。找到安装方法:
进入虚拟环境后输入pip install flask-script,就像前面安装flask那样开始安装了。(我感觉这个pip的作用就像一根管子,需要安装什么模块了,就输入pip install module_name,把模块通过这根管子传输过来安装上。不知道理解的对不对。)

然后就可以跑起来了,并且学习了一下这个模块的一些命令:(命令在 python hello.py 后面输入)
shell 可以调出python shell,在上下文中,我的理解是就在当前运行的命令窗口中
runserver 运行服务器,也就是让这个服务器脚本运行起来的关键命令
–host a.b.c.d “告诉Web服务器在哪个网络接口上监听来自客户端的链接”,我的理解就是设置IP及端口号
比如:
1. 不输入–host命令,直接python hello.py runserver,会显示在127.0.0.1:5000上运行,这时在浏览器中输入127.0.0.1:5000,就可以正常访问页面了。
2. 输入 python hello.py runserver –host 0.0.0.0 ,然后会显示在这个端口上运行了:

这个命令的神奇之处在于,可以让同网中的其他设备访问,只是要把0.0.0.0:5000替换为当前试用的计算机的外网IP地址,也就是我们公司贴在办公桌上给每个人分配好的IP地址,我手机连的旁边同事的wifi,所以是和我的电脑在同一个网中的,打开浏览器,输入电脑IP:5000,正常跳转显示“Hello World!”,激动人心啊!哈哈哈!

到此,学会了调用模板,将前后端分离;并且可以在模板文件中设置变量。
根据之前看的视频,后面应该还会学习在模板中输出列表、遍历列表、输出字典、根据key查询value值。

补充:
关于HTML模板的编写,其中变量的写法是两对英文花括号:

<h1>Hello, {{name}}!</h1>
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值