在城市后面加省,市,区时,使用过滤器和for循环,if判断 一起使用。
自定义一个过滤器
def my_detail(val): # in 不能和 or 一块使用,括号里面要使用 " "或 ' '
if val in ('北京' , '上海' , '重庆' , '天津'):
return str(val) + '市' #要把参数转成str类型
else:
return str(val) + '省'
将过滤器传递给模板
app.add_template_filter(my_detail,'my_detail')
遍历数据
{% for item in res_platform %} #注意有开始就要有结束
<tr>
<td>{{ item.id }}</td>
<td>{{ item.name }}</td>
<td>{{ item.rank }}</td>
<td>{{ item.platEarnings}}</td>
<td>¥0{{ item.registeredCapital }}万元</td>
<td>{{ item.onlineDate }}</td>
<td>
使用if判断给城市加省市区
{% if item.locationAreaName == '北京' or item.locationAreaName == '上海' or item.locationAreaName == '重庆' or item.locationAreaName == '天津' %}
#判断城市是否是北京,上海,重庆, 天津,如果是,调用过滤器添加 市,区
{{item.locationAreaName | my_detail }}-{{ item.locationCityName }}区
#如果不是添加省,市
{% else %}
{{item.locationAreaName | my_detail }}-{{ item.locationCityName }}市
{% endif %} #有开始就有结束
</td>
<td>查看详情</td>
</tr>
{% endfor %}
将MySQL脚本封装成class
使用哦、pymsql 和json模块
定义一个类
class Assds(object):
def red_aa(self):
#读取文件数据,注意调用json文件是否正确
content = open('static/data/problem_platform.json','r',encoding='utf-8',errors = 'ignore')
#转换为pyhton对象
data = json.load(content)
return data
def wes_aaa(self,data):
#建立连接对象,端口号可以不传,默认为3306,password = ‘自己的mysql密码’
conn = pymysql.connect(host='localhost',user='root',password='mysql',database='myflask',charset='utf8')
#建立游标
cursor = conn.cursor()
#循环入库
for val in data:
print(val['platform_name'])
#执行sql入库 `platform` :mysql中的表名
cursor.execute(" insert into `platform` values (0,'"+val['platform_name']+"','"+val['online_time']+"','"+val['region']+"') " )
#执行提交
conn.commit()
def xie_aa(self):
aaa = self.red_aa()
self.wes_aaa(aaa)
程序入口
if __name__ == "__main__":
qqq = Assds()
print(qqq.xie_aa())