设为首页 加入收藏

TOP

生成一个统一的信息展示,修改页面
2017-10-10 08:27:41 】 浏览:5739
Tags:生成 一个统一 信息 展示 修改 页面

今天练习的时候要展示一个从用户信息列表,就想把他做成信息和修改在一起的一个网页,方便用户修改内容

考虑到要把信息和值分开放,那么肯定是字典了,因为需要保证位置不变,使用有序字典

考虑到需要解析方便和好看点,所以让models.py中返回的就直接是”k1 v1 k2 v2”格式

 

 

第一步:

修改models.py文件,将之前的分割符全部去掉,使用空格分割

为了省事和可读的折中吧,没有使用格式化字符串的时候没有用关键字

1  def __str__(self):
2         return "email {0} idcard {1} adress {2} phonenumber {3}".format(
3             self.email, self.idcard, self.adress, self.phonenumber
4         )

第二步:

修改views.py,把字符串整合成有序字典

 

 1 from collections import OrderedDict as ordic
 2  
 3 @login_required
 4 def msg(request):
 5     msg = UserMsg.objects.filter(whoami=request.user)
 6     
 7     for item in msg:
 8         msglist = str(item).split(" ")
 9  
10     msgkey = msglist[::2]
11     msgvalue = msglist[1::2]
12     msgs = ordic(zip(msgkey,msgvalue))
13     context = {'msg':msgs}
14  
15     return render(request, 'usermsg/msg.html', context)

获取列表的时候也可以用列表生成器,像这样就行

1 >>>[str(i).split() for i in msg][0]
2 >>>['email', 'xxxxxx@163.com', 'idcard', '12', 'adress', '13', 'phonenumber', '14']

最后展示在页面就行了,简单的放到表格里了,没有继续处理

 1 <table border="0">
 2     {% for key,value in msg.items %}
 3     <br>
 4     <tr>
 5         <td> {{key}} </td>
 6         <td> :{{ value }} </td>
 7         <td> <a href="#" value="change{{ key }}"> 修改{{ key }}
 8  </a> </td>
 9     </tr>
10     {% endfor %}
11 </table>

就是这样了,嗯,好丑

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇第一章Python起步 下一篇django restframework 的日常使用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目