在城市後面加上省,市,區 以及將MySQL入庫指令碼封裝成class
阿新 • • 發佈:2019-01-09
在城市後面加省,市,區時,使用過濾器和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 將red_aa讀取的資料進行入庫操作
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())