使用python实现生成用户信息
今天练习的时候要展示一个从用户信息列表,就想把他做成信息和修改在一起的一个网页,方便用户修改内容
考虑到要把信息和值分开放,那么肯定是字典了,因为需要保证位置不变,使用有序字典
考虑到需要解析方便和好看点,所以让models.py中返回的就直接是”k1v1k2v2”格式
第一步:
修改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,把字符串整合成有序字典
fromcollectionsimportOrderedDictasordic
@login_required
defmsg(request):
msg=UserMsg.objects.filter(whoami=request.user)
foriteminmsg:
msglist=str(item).split("")
msgkey=msglist[::2]
msgvalue=msglist[1::2]
msgs=ordic(zip(msgkey,msgvalue))
context={'msg':msgs}
returnrender(request,'usermsg/msg.html',context)
获取列表的时候也可以用列表生成器,像这样就行
>>>[str(i).split()foriinmsg][0] >>>['email','xxxxxx@163.com','idcard','12','adress','13','phonenumber','14']
最后展示在页面就行了,简单的放到表格里了,没有继续处理
{%forkey,valueinmsg.items%}
{%endfor%} {{key}} :{{value}} 修改{{key}}
就是这样了,嗯,好丑