第10天
下午开始做一个页面,需要用到framework7,但是我完全不懂前端页面的一些控件啊- -
第11天
上午:
项目工作要开始走上正轨了,我也要开始做界面了。
问题1:我在
http://docs.framework7.cn/Index/media_list_view.html
使用的多媒体列表的框架,发现不能在一个列表项中加入一个链接<a>,找了同组几位同学没法解决,猜测可能是用到的框架中的类的限制。
于是改使用js实现这个点击改变链接并且传参数
后来才发现javascript的post是不能跳转入新页面的- -
问题的解决最后是,利用javascript的
<script> function go(argu) { window.location.href = 'project_details?id=' + argu } </script>
其中argu是通过jinja传入的数据表一条记录的id
遇到问题,如何往odoo里面的数据库进行修改:
虽然是我大胆猜测的,but it works
先用:
project_model = http.request.env['wens.investment.program'] #得到数据模型 project_lists = project_model.sudo().search([('id', '=', id)]) # 获得id相同的记录
获得一些记录,然后直接对project_lists[I].某个字段 = “赋值”就可以完成修改数据库的操作
问题2:jinja变量域中的问题:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <title>Title</title> <body> <p>修改成功,1秒后将返回详情页面</p> {% set ok = 0 %} {% set id = 0 %} <!--没有进入循环,传入的数据为空--> {%for item in data%} {% id = item.id %} {%endfor%} <p>{{id}}</p> <p>{{ok}}</p> </body> <script> setTimeout( function() { alert("project_details" + "?id={{id}}"); this.location.href= "project_details" + "?id={{id}}"; } ,1000) </script> </html>
这个id该如何获取,但是这个问题并没有解决,最后采用的是在javascript中再用一次jinja2的for循环获取数据,并在javascript中用变量传递数据
<script> myApp.showPreloader('更新数据中') setTimeout( function() { myApp.hidePreloader(); var id = 0 {% for item in data%} id = {{item.id}} {%endfor%} this.location.href= "program_detail" + "?id=" + id; } ,1000) </script>
第12天
如果有一本书,撸完就能找到合适的工作就好了,就像学生时代那样目标明确
读《python源码剖析》遇到的问题:
lookdict_string实际上是一个lookdict对于PyStringDict对象的优化版本。python中为什么仅仅提供PyStringObject对象的优化版本,而没有int等其他类型呢?
《python源码剖析》120页给出了答案:
python自身大量使用了PyDictObject对象,用来维护一个名字空间中变量名和变量值之间的对应关系,或是用来在为函数传递参数时维护参数名与参数值的对应关系。这些对象几乎都是用了PyStringObject对象作为键值对中的key,所以lookdict_string的意义就显得非常重要了。它对Python整体的运行效率都有着重要的影响。