On Monday, November 13, 2017 at 2:21:40 PM UTC-8, Maurice Waka wrote: > > I got the error resolved: > {{=LOAD('default','view_searches.load',ajax=True)}} > instead of : > {{=LOAD('replies','view_searches.load',ajax=True)}} > > Yes, in web2py it is very important to have the controller in the LOAD() match the filename in myapp/controllers. (and in other URL references, too)
/dps > > On Tue, Nov 14, 2017 at 12:06 AM, Maurice Waka <mauri...@gmail.com > <javascript:>> wrote: > >> in my controller: >> def view_searches: >> if db(db.post).isempty(): >> db.post.insert(message="Hi, it's" +' ' +auth.user.first_name+' '+ >> 'loging in...') >> form = SQLFORM(Post, formstyle='table3cols',) >> if form.process().accepted: >> pass >> long code... >> replies = db(db.answers.author == auth.user.id >> ).select(db.answers.ALL)[-5:5] >> return dict(form = SQLFORM(Post, formstyle='table3cols',).process(), >> replies = db(db.answers.author == auth.user.id >> ).select(db.answers.ALL)[-5:5]) >> >> >> html page: >> >> {{extend "layout.html"}} >> >> {{=LOAD('replies','view_searches.load',ajax=True)}} >> >> >> error message on loading view_searches.html: >> >> invalid controller (replies/view_searches) >> >> This is how far I've come >> >> >> On Mon, Nov 13, 2017 at 9:18 AM, Maurice Waka <mauri...@gmail.com >> <javascript:>> wrote: >> >>> Sorry I cant make any head, nor tail of this.I need you help >>> >>> On Mon, Nov 13, 2017 at 8:13 AM, Maurice Waka <mauri...@gmail.com >>> <javascript:>> wrote: >>> >>>> I don't have it. >>>> Let me work it out >>>> >>>> On Sun, Nov 12, 2017 at 10:33 PM, Dave S <snide...@gmail.com >>>> <javascript:>> 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 <mauri...@gmail.com> >>>>>> 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 <snide...@gmail.com> 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/components-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/topic/web2py/eH5y3Yvz56Q/unsubscribe. >>>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>>> web2py+un...@googlegroups.com. >>>>>>>> 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 >>>>> web2py+un...@googlegroups.com <javascript:>. >>>>> 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.