使用python实现生成用户信息

本文介绍了一种使用Python和有序字典来生成用户信息的方法。该方法通过修改models.py和views.py文件,实现了从数据库中获取用户信息并将其格式化为易于阅读和修改的表格形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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>
就是这样了,嗯,好丑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值