首页 > 技术文章 > 2019.04.08 电商 16 地址管理2

Py-king 2019-04-08 09:04 原文

三级联动已经做好了,该有的数据都有了。

接下就是获取数据和保存数据了

如何保存数据到上面一个方框中呢

获取数据,通过POST,然后插入到地址这个数据表中就可以

一定要记得去看提交有没有form   的action  method     提交的方法和地址

我获取的时候是通过POST的,还要通过文本框的name属性  这个也是要检查的

主要是我有点不明白插入数据的时候是,K,V的形式插入的,一次还可以插入多个。是呀,是多个,字段和数据嘛

那K应该是字段名

onfocus = “hanshu(this)” 获得焦点事件     这里有个this     这个文本域的对象吗     

//获取用户选择的省市县的区划信息
var province = $('#province>option:selected').text(); 这个selected 是选中的那个值
var txt = province+' '+city +' '+town;
如何拼接,字符都是要加引号的,变量和数字是不用加的

//将区划信息填充到文本域中
$(txtObj).val(txt);


js对象如何转换成JQuery对象 加个括号
val(获取值) text(这个是获取文本内容的信息) 有什么不一样吗
为什么这个获取焦点事件,点了一次之后,在这个框中再多点几次都不回有反应
onsubmit 一个提交事件

403 禁止访问
{% csrf_token %}

当我点提交的时候,会把所有的表单框中的信息都提交上去的  提交应该是kV的形式吧
获取到的参数一次性的保存到数据库
Address.objects.create(**request.POST)
params = request.POST.dict()
params.pop('csrfmiddlewaretoken')
为什么要是字典,为什么要移除csrfmiddlewaretoken
#获取当前登录用户对象
user = jsonpickle.loads(request.session.get('user'))

Address.objects.create(userinfo=user,
关联的外键要记得写上
isdefault=(lambda count:True if count==0 else False)(user.address_set.count())
有意思,写的这是什么鬼
# 获取当前登录用户对象
user = jsonpickle.loads(request.session.get('user'))

addrList = user.address_set.all()
通过user.address_set.all()就可以查到user下的所有地址信息
这set 它一直没讲 很无语
如何去响应在上面的方框中,获取数据传到模板中呀,修改动态数据就可以了
接下是session的问题,当重启服务器的时候,session缓存会被清理
怎么办呢:cached_db 即在数据库中保存又在缓存中保存,但是一旦修改
又得对对象进行序列化 对session用jsonpickle.dumps()序列化
然后又要进行反序列化,如果有值之后就要进行反序列化loads()

我的天怎么那么难 都是逻辑上 数据上的逻辑关系
基础不牢固 听都听不懂 看不懂他写的是什么

推荐阅读