Hi Anthony, I have successfully get the values from another file... thanks... But for now i have another problem displaying the values into a graph...
In views/default/index.html {{extend 'layout.html'}} {{=LOAD('default', 'graph', ajax=True, timeout=500, times='infinity')}} {{=BEAUTIFY(response._vars)}} In my default.py controller from gluon.serializers import json def index(): return dict() def graph(): temp_graph = [] temp=[] timet=[] for x in db().select(db.temperature_table.ALL): temp.append(x.temp_value) timet.append(x.tm_timestamp) temp_graph.append({'y':x.temp_value, 'label':x.tm_timestamp}) return dict(temp_graph=json(temp_graph),VA=temp,VB=timet) In views/default/graph.html <script src="{{=URL('static','js/canvasjs.min.js')}}"></script> <div id="chartContainer" style="height: 300px; width: 50%;"></div> {{=VA}} {{=VB}} <br> ------------ Value In Graph ------------ <br> {{=temp_graph}} <script type="text/javascript"> window.onload = function () { var chart = new CanvasJS.Chart("chartContainer", { theme: "theme3", legend: { horizontalAlign: "center", // "left" , "right" verticalAlign: "bottom", // "center" , "top" fontSize: 12 }, title:{ text: "Temperature reader" }, animationEnabled: false, data: [ { type: "line", showInLegend: true, legendText: "temperature", dataPoints: {{=XML(temp_graph)}} } ] }); chart.render(); } </script> In Browser the <graph.html> renders the graph and value completely with no problems But the in <index.html> the graph does not render.. only Values are shown.. I have also tried increasing the value of the timeout maybe the graph is not rendered due to timeout value but still no avail... {{extend 'layout.html'}} {{=LOAD('default', 'graph', ajax=True, timeout=20000, times='infinity')}} {{=BEAUTIFY(response._vars)}} On Friday, September 8, 2017 at 7:06:32 PM UTC+8, Anthony wrote: > > What does your newvalue.load view look like? Does it display the temp and > timet lists? > > Note, your index.html view is incorrect -- it has {{=temp}} and > {{=timet}}, but the dictionary returned by the index() function instead > uses VA and VB as keys, so the view should have {{=VA}} and {{=VB}} (should > be the same in your newvalue.load view). Actually, because the returned > values are Python lists, you probably want a more sophisticated display > than simply {{=VA}}. > > Also, note that there is no reason to have two identical functions. You > can instead have a single function and just use two different views and > extensions (i.e., index.html and index.load). > > Even better, just use an Ajax component to load the data and set it to > refresh periodically: > > def index(): > return dict() > > def get_data(): > ... > return dict(VA=temp, VB=timet) > > In views/default/index.html: > > {{=LOAD('default', 'get_data.load', ajax=True, timeout=1000, times= > 'infinity')}} > > In views/default/get_data.load: > > {{=VA}} > {{=VB}} > > Keep in mind that this is an inefficient way to get realtime updates. > First, you are polling every second, whether or not the data have changed. > Second, you are sending all the data on every request instead of just the > changes. This may be fine for your use case, but a more efficient approach > would be to use a server push pubsub method (e.g., use websockets to > publish updates to the client) -- see > https://github.com/web2py/web2py/blob/master/gluon/contrib/websocket_messaging.py > . > > Anthony > > > On Friday, September 8, 2017 at 2:52:57 AM UTC-4, Wabbajack wrote: >> >> Hi All, >> >> >> >> I am really confused on auto updating variable on view... >> What i want is i have an initial value that is displayed on >> index.html<view> thru query in default.py index function >> But hope to change this values everytime there is a change on the >> database. >> >> I have read this >> https://groups.google.com/forum/#!topic/web2py/XN9Wqb3jqKk >> but still having confusion the variable arent updating or creating new >> string file >> >> >> *controllers/default.py >> >> >> *view/default/index.html >> >> >> >> * Also i have created a file newvalue.load on views/default/ directory >> >> >> *models.py >> >> >> <additional info> >> I am using web2py 2.14 on windows PC >> > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.