如题 我是一个初学者 ,学校让写一个小项目 我选了图书管理系统。经过一些考虑之后 ,在网上看到了tornado。
其中有一个功能是可以利用书籍名字或者作者信息查询书籍信息。
然后这是我第一次进去页面的时候,调用render渲染了全部的书籍信息。
但是当我点击查询的时候 再次调用render的时候,页面就不会改变
但是数据都查到了
这是html中的模板
请帮忙给出解决办法, 我想要的是在查询之后获得到的数据,能在页面上原来显示所有数据的地方显示查询后的数据
页面,你重新加载了吗
重新加载了 浏览器也重新清理垃圾 都试过了 但是没用 不过我现在想了个歪办法好像是可行的
自己有办法解决,最好了
好的 谢谢您先帮助我
没事。
使用tornado实现一个简单的增删改查,可参考一下:
https://www.cnblogs.com/paulwhw/articles/11747762.html
虽然跟我的问题有些出入 但还是给了我一些想法 谢谢
点击查询 是点击页面的按钮吗?
如果是点击的页面按钮 你的模板在浏览器已经渲染完毕了 不会重新渲染的。
有两个解决方案:
1.点击页面的查询按钮之后 ajax请求接口 返回数据使用JS去改变页面的展示
2.还是使用你的模板,但是点击按钮之后 需要把你查询的参数Get或者POST给页面自己,必须让页面带着你查询参数重新加载。
突然想到的 我没有用过Tornado模板 但是我使用过PHP的模板
有一点需要注意:你的模板是什么时候渲染的?
是在有客户端请求到达之后才渲染的 还是没有请求就渲染了 然后
有人请求就把渲染好的HTML页面发给浏览器?
如果是先渲染好 然后有人请求就把HTML发给谁 这种的 ,你只能使用我上面的ajax方案了。
我后来使用的办法是使用ajax把数据传递给页面 然后使用js改变了页面显示的信息。 我的模板第一次被渲染是在进入页面 直接有一个表格是显示所有书籍信息的。 然后在进行查询模块的时候,后台都可以查询到数据,但是再调用render函数,却不会再起作用了, 我在官方文档中看到的是render函数会调用一个finish方法,可能是这个的原因。我是新手有些看不明白。 我在上午的时候已经使用ajax的方法解决了这个问题。不过还是谢谢您的建议和参考。
从这样看 你的模板 可能就是渲染一次的那种 使用ajax解决了就好