使用python实现生成用户信息

yipeiwu_com5年前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']

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

 <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>

就是这样了,嗯,好丑

相关文章

python+opencv实现动态物体识别

python+opencv实现动态物体识别

注意:这种方法十分受光线变化影响 自己在家拿着手机瞎晃的成果图: 源代码: # -*- coding: utf-8 -*- """ Created on Wed Sep 2...

linux系统使用python监测系统负载脚本分享

linux系统使用python监测系统负载脚本分享

复制代码 代码如下:#!/usr/bin/env Python   import os def load_stat():     loa...

PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例

概要 应同学邀请,演示如何使用 PyQt5 内嵌浏览器浏览网页,并注入 Javascript 脚本实现自动化操作。 下面测试的是一个廉价机票预订网站(http://www.flyscoo...

Python 实现取多维数组第n维的前几位

Python 实现取多维数组第n维的前几位

现在我们有一个shape为(7352, 9, 128, 1)的numpy数组。 想要取出第2维的前三个数据,构成新数组(7352, 3, 128, 1) 我的思想是:将第2维数据转置(t...

使用Python的Tornado框架实现一个Web端图书展示页面

使用Python的Tornado框架实现一个Web端图书展示页面

首先,为什么选择Tornado: 1.高性能的网络库,这可以和gevent,twisted,libevent等做对。 提供了异步io支持,超时事件处理,在此基础上提供了tcpserver...