使用python實現生成用戶信息
更新時間:2017年03月20日 08:48:03 作者:自動化昵稱
這篇文章主要介紹了使用python實現生成用戶信息的相關代碼,非常的簡單實用,需要的朋友可以參考下
今天練習的時候要展示一個從用戶信息列表,就想把他做成信息和修改在一起的一個網頁,方便用戶修改內容
考慮到要把信息和值分開放,那么肯定是字典了,因為需要保證位置不變,使用有序字典
考慮到需要解析方便和好看點,所以讓models.py中返回的就直接是”k1 v1 k2 v2”格式
第一步:
修改models.py文件,將之前的分割符全部去掉,使用空格分割
為了省事和可讀的折中吧,沒有使用格式化字符串的時候沒有用關鍵字
def __str__(self): return "email {0} idcard {1} adress {2} phonenumber {3}".format( self.email, self.idcard, self.adress, self.phonenumber )
第二步:
修改views.py,把字符串整合成有序字典
from collections import OrderedDict as ordic @login_required def msg(request): msg = UserMsg.objects.filter(whoami=request.user) for item in msg: msglist = str(item).split(" ") msgkey = msglist[::2] msgvalue = msglist[1::2] msgs = ordic(zip(msgkey,msgvalue)) context = {'msg':msgs} return render(request, 'usermsg/msg.html', context)
獲取列表的時候也可以用列表生成器, 像這樣就行
>>>[str(i).split() for i in msg][0] >>>['email', 'xxxxxx@163.com', 'idcard', '12', 'adress', '13', 'phonenumber', '14']
最后展示在頁面就行了,簡單的放到表格里了,沒有繼續(xù)處理
<table border="0"> {% for key,value in msg.items %} <br> <tr> <td> {{key}} </td> <td> :{{ value }} </td> <td> <a href="#" rel="external nofollow" value="change{{ key }}"> 修改{{ key }} </a> </td> </tr> {% endfor %} </table>
就是這樣了,嗯,好丑