第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整体的运行效率都有着重要的影响。