I don't have it. Let me work it out On Sun, Nov 12, 2017 at 10:33 PM, Dave S <[email protected]> wrote:
> > > On Saturday, November 11, 2017 at 7:13:31 PM UTC-8, Maurice Waka wrote: >> >> Why I said that: >> >> 1. Loading takes too long to load >> 2. I get an error: invalid controller..see below >> 3. >> >> >> >> > Loading takes too long? the LOAD helper should be faster than a page > refresh, give or take a cache hit. > > Do you have the file my-chatbot-app/controllers/messages.py, and does it > have the function answers() ? > > /dps > > > >> On Sat, Nov 11, 2017 at 1:58 PM, Maurice Waka <[email protected]> wrote: >> >>> Thanks for the reply and details. It will take me several weeks juts to >>> get something to work out. As I had said, am not an expert in this as I do >>> part time programming; I have to study it first then practice till I get >>> something to work out. >>> Is it OK if you give me a working example?...😜 >>> Kind regards >>> >>> On Sat, Nov 11, 2017 at 9:32 AM, Dave S <[email protected]> wrote: >>> >>>> >>>> >>>> On Friday, November 10, 2017 at 1:30:40 AM UTC-8, Maurice Waka wrote: >>>>> >>>>> Hi everyone. >>>>> For several months, though not a python expert, nor a web2py guru >>>>> either, I have been working on a simple bot. I borrowed from this site: >>>>> https://codepen.io/pavel_komiagin/pen/gaGJJK >>>>> [...] >>>>> I also don't want page refreshed on posting the question, that it >>>>> works like other bots where the messages appear from the bottom as they >>>>> come in. Ifigured out that maybe as the page refreshes, that's when the >>>>> cursor moves first up then to the bottom of the page, then the message >>>>> appears. >>>>> I dont mind a new code or referral. >>>>> >>>> >>>> That "append to the current page" stuff is ajax. Web2py has a very >>>> handy wrapper for ajax, the LOAD() helper. >>>> <URL:http://web2py.com/books/default/chapter/29/12/component >>>> s-and-plugins#LOAD> >>>> The target argument specifies where on the page to put the results ... >>>> you need a DIV that matches. >>>> >>>> My example, which goes in the view file: >>>> >>>> {{=LOAD(c='myhosts', f='myhosts2.load', target='my_hosts', >>>> content="something's >>>> happening", ajax=True)}} >>>> >>>> >>>> To continually append more messages, instead of replacing old with new, >>>> you would need to have multiple DIVs, and point to a different DIV for each >>>> message. >>>> >>>> The above code will run automatically on initial page load, which you >>>> may or may not want, depending on whether you want messages from a previous >>>> visit to appear. >>>> >>>> I have done some stuff where I want a user to click a button to get >>>> more information, and so I fabricate an html string in the controller, put >>>> the string into the dict I return, and the view displays the string in the >>>> appropriate part of the page. >>>> >>>> The string includes something like this: >>>> >>>> dis_str = CAT(dis_str, TT(" "), >>>> A("mystuff list", _href=URL("mystuff.html", vars=dict( >>>> ipaddr=ipaddr, hnam >>>> e=hname, tdisk=index)), >>>> _style="visibility:visible", _id="stuffh"), >>>> TT("\n "), >>>> TAG.BUTTON('mystuff list', _type="button", _name= >>>> "val2controller", _value=val2controller, >>>> _onclick='$("#mystuff_div").html("updating >>>> ..");ajax("mystuff.load", ["val2controller"], "mystuff_div")', >>>> _style="display:none", _id="mystuffa")) >>>> >>>> I think you can manipulate the DIV name either server side or client >>>> side, but I haven't tested any code for that purpose. >>>> >>>> Server side: keep the name in the session object, update it on each >>>> load, and in the view/controller/response.load file use the DIV helper >>>> after you display your messages. This will end up nesting the DIVs, but I >>>> don't think that's a problem. Caveat coder. >>>> >>>> Client side: use javascript to tap into the onclick path, and insert a >>>> new DIV into the DOM, then use that DIV's name in the ajax call. You may >>>> have to go direct to ajax in this scheme, rather than using the LOAD >>>> helper. This will require a little more study, but look at the other >>>> material in the book's component chapter, and it may help you out. >>>> >>>> Note that using ajax requires that your users allow javascript from >>>> your site, and there are plenty of people reluctant to do that, but if they >>>> are going to trust your site they might as well trust your site. Using >>>> something like noscript gives them some confidence that they protected >>>> against cross-site scripting attacks, but they can whitelist your site to >>>> view your pages. (noscript is for firefox; I don't know the equivalent in >>>> other browsers, but chrome has some of the features built in but not as >>>> easily tuned.) >>>> >>>> Good luck! I hope this helps, and that I haven't fed you too much >>>> bogus information. >>>> >>>> /dps >>>> >>>> -- >>>> 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 a topic in the >>>> Google Groups "web2py-users" group. >>>> To unsubscribe from this topic, visit https://groups.google.com/d/to >>>> pic/web2py/eH5y3Yvz56Q/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >> -- > 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 a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit https://groups.google.com/d/ > topic/web2py/eH5y3Yvz56Q/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

