flask中jinjia2模板的使用(一)

一、模版中使用url_for

模版中的`url_for`跟我们后台视图函数中的`url_for`使用起来基本是一模一样的。也是传递视图函数的名字,也可以传递参数。

语法格式

{{ url_for('函数名',[参数1='值1']) }}

html

<a href="{{ url_for('login',p1='abc',p2='ddd',name='momo') }}">登录</a>

view.py

python文件如:
@app.route('/accounts/login/<name>/')
def login(name):
    print(name)
    return render_template('login.html')

二、过滤器的使用

查看所有过滤器:http://jinja.pocoo.org/docs/dev/templates/#builtin-filters

1、过滤器的基本使用

语法格式

{{ variable|过滤器名字 }}

view.py

@app.route('/')
def hello_world():
    return render_template('index.html',a=-2)

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>SXT</title>
</head>
<body>
    <h3>过滤器的基本使用</h3>
    <p>位置的绝对值为[未使用过滤器]:{{ a}}</p>
    <p>位置的绝对值为[使用过滤器]:{{ a|abs}}</p>
</body>
</html>

2、default过滤器的使用

例如:

view.py

@app.route('/')
def hello_world():
    context={
        'action':-1
    }
    return render_template('index.html',**context)

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>SXT</title>
</head>
<body>
    <h3>过滤器的基本使用</h3>
    <p>个性签名[使用过滤器]:{{ a|default('此人很懒,没有任何说明')}}</p>
</body>
</html>

运行结果

如果 :

view.py

@app.route('/')
def hello_world():
    context={
        'action':-1,
        'a':None
    }
 return render_template('index.html',**context)

 结果:

如歌要想default('')里面的值优先显示:

<p>个性签名[使用过滤器]:{{ signature|default('此人很懒,没有任何说明',boolean=True)}}</p>

 default过滤器总结:

使用方式`{{ value|default('默认值') }}`。

如果value这个`key`不存在,那么就会使用`default`过滤器提供的默认值。

如果value这个`key`存在,就不会使用`default`过滤器提供的默认值。但对于value的一些特殊值(例如:None、空字符串、空列表、空字典等),想使用`default`过滤器提供的默认值。,那么就必须要传递另外一个参数`{{ value|default('默认值',boolean=True) }}`。

3、自定义过滤器

例子:

#将模版设置为自动加载模式
app.config['TEMPLATES_AUTO_RELOAD']=True
@app.template_filter('过滤器名')
def 过滤器名(arg1):
    语句
    return arg1

使用:

<p>使用自定义过滤器:{{内容值|过滤器名}}</p>

特定网站的金价并将数据保存到Excel表格通常需要通过网络爬虫技术实现。以下是简要步骤: 1. **确定目标网站**:首先,你需要找到提供实时金价信息的网页。这个页面应该包含HTML结构,并且数据以可读或可提的方式呈现。 2. **选择工具**:Python有一个强大的库叫做`BeautifulSoup`或更现代的`Scrapy`,用于解析HTML内容。同时,可以利用如`requests`来获网页内容。 ```python import requests from bs4 import BeautifulSoup ``` 3. **编写抓代码**:使用上述工具,编写函数来请求页面并解析出你需要的数据(例如黄金价格)。这通常涉及到查找特定的HTML标签或CSS选择器来定位数据。 ```python def get_gold_price(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') gold_price_element = soup.find('span', class_='gold-price') # 这只是一个假设,实际决于网站结构 price_text = gold_price_element.text return price_text ``` 4. **数据处理**:获到价格后,将其转换为数字格式,因为Excel会直接处理数值。可能还需要处理货币符号或其他单位。 5. **写入Excel**:使用`pandas`库将数据写入Excel文件。创建DataFrame,然后用`to_excel()`函数。 ```python import pandas as pd def save_to_excel(price): data = {'Gold Price': [price]} df = pd.DataFrame(data) df.to_excel('gold_prices.xlsx', index=False) ``` 6. **运行脚本**:最后,结合以上两部分代码,运行程序以定期或一次性抓并保存数据。 ```python url = 'http://www.goldwebsite.com/latest_price' price = get_gold_price(url) save_to_excel(price) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

allen wy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值