\applications\\myapplication/controllers/default.py", line 64, in
ajaxuserexist\n  File "gluon/sql.py", line 1329, in __getattr__
\nKeyError: \'auth_user\'\n'

What is in default.py line 60-70?

I think it tells that db.auth_user is not defined. Something is wrong
in the models then.


On 30 Giu, 16:30, elfuego1 <elfue...@gmail.com> wrote:
> OK. Now I can see an error:
> POSThttp://127.0.0.1:8000/myapplication/default/ajaxuserexist 500
> INTERNAL SERVER ERROR
>
> There is also information about issued ticet but I can't open it in
> web browser, so I paste it below:
>
> (dp1
> S'output'
> p2
> S''
> sS'layer'
> p3
> S'F:\\Programy\\web2py\\applications\\myapplication/controllers/
> default.py'
> p4
> sS'code'
> p5
> S'# -*- coding: utf-8 -*-\n
> \n#########################################################################
> \n## This is a samples controller\n## - index is the default action of
> any application\n## - user is required for authentication and
> authorization\n## - download is for downloading files uploaded in the
> db (does streaming)\n## - call exposes all registered services (none
> by default)
> \n#########################################################################
> \n\ndef index():\n    """\n    example action using the
> internationalization operator T and flash\n    rendered by views/
> default/index.html or views/generic.html\n    """\n    response.flash
> = T(\'Welcome to web2py\')\n    return dict(message=T(\'Hello World\'))
> \n\n\ndef user():\n    """\n    exposes:\n    
> http://..../[app]/default/user/login\nhttp://..../[app]/default/user/logout\n 
>    
> http://..../[app]/default/user/register\nhttp://..../[app]/default/user/profile\n
>     
> http://..../[app]/default/user/retrieve_password\nhttp://..../[app]/default/user/change_password\n
>     use
> @auth.requires_login()\n       �...@auth.requires_membership(\'group name
> \')\n       �...@auth.requires_permission(\'read\',\'table name
> \',record_id)\n    to decorate functions that need access control\n
> """\n    return dict(form=auth())\n\n\ndef download():\n    """\n
> allows downloading of uploaded files\n    
> http://..../[app]/default/download/[filename]\n
> """\n    return response.download(request,db)\n\n\ndef call():\n
> """\n    exposes services. for example:\n    
> http://..../[app]/default/call/jsonrpc\n
> decorate with @services.jsonrpc the functions to expose\n    supports
> xml, json, xmlrpc, jsonrpc, amfrpc, rss, csv\n    """\n
> session.forget()\n    return service()\n\n\n\ndef page2():\n    name =
> request.vars.login\n    #db.auth_user.insert(name=name)\n    return
> dict(name=name)\n\ndef ajaxuserexist():\n      username =
> request.vars.values()[0]\n      return
> db(db.auth_user.login==username).count() and \'yes\' or \'no\'\n\n
> \nresponse._vars=response._caller(ajaxuserexist)\n'
> p6
> sS'traceback'
> p7
> S'Traceback (most recent call last):\n  File "gluon/restricted.py",
> line 178, in restricted\n  File "F:\\Programy\\web2py\\applications\
> \myapplication/controllers/default.py", line 67, in <module>\n  File
> "gluon/globals.py", line 96, in <lambda>\n  File "F:\\Programy\\web2py\
> \applications\\myapplication/controllers/default.py", line 64, in
> ajaxuserexist\n  File "gluon/sql.py", line 1329, in __getattr__
> \nKeyError: \'auth_user\'\n'
> p8
> s.
>
> On 30 Cze, 22:59, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > I'd like to know if the console reports any error when the ajax
> > request is executed.
>
> > On 30 Giu, 15:31, elfuego1 <elfue...@gmail.com> wrote:
>
> > > I have firebug installed. What do you want me to look for?
> > > You want to see some firebug output?
>
> > > On 30 Cze, 22:25, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > > I do not see anything wrong in this. Do you use firebug?
>
> > > > On 30 Giu, 15:18, elfuego1 <elfue...@gmail.com> wrote:
>
> > > > > I hope I don't make your eyes bleed by puting all the code here but
> > > > > there is no other way to show it to you.
> > > > > I made change only in one place of the code to gather "login" value:
> > > > > {login:value}
> > > > > Oryginaly it was: {name:value}.
>
> > > > >  $.post("{{=URL(r=request,c='default',f='ajaxuserexist')}}",
> > > > > {login:value},function(result){
>
> > > > > Below is the whole content of index.html
>
> > > > > {{extend 'layout.html'}}
>
> > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> > > > >     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
> > > > > <html>
> > > > > <head>
> > > > >     <meta http-equiv="Content-type" content="text/html;
> > > > > charset=utf-8">
> > > > >     <title>Ajax User Validation with web2py by Martin Sagastume</
> > > > > title>
> > > > >     <style type="text/css">
> > > > >     <!--
> > > > >     body { font-family:Arial,Verdana,Sans-serif; }
>
> > > > >     input[type=text]{
> > > > >         font-size:12px;
> > > > >         color:#666666;
> > > > >         background-color:#ffffff;
> > > > >         padding-top:5px;
> > > > >         width:200px;
> > > > >         height:20px;
> > > > >         border:1px solid #999999;
> > > > >     }
>
> > > > >     #resultbox { font-size:11px; }
> > > > >     .msg { color:blue; }
> > > > >     .success { color:green; }
> > > > >     .error { color:red; }
> > > > >     //-->
> > > > >     </style>
> > > > >     <script type="text/javascript"
> > > > > src="{{=URL(r=request,c='static',f='jquery.js')}}"></script>
> > > > >     <script type="text/javascript">
>
> > > > >     var submit = false;
> > > > >     $(document).ready(function(){
> > > > >         $("form").submit(function() {
> > > > >             return submit;
> > > > >         });
> > > > >     });
>
> > > > >     function getData(value){
> > > > >         if(value != ""){
> > > > >             $
> > > > > ("#resultbox").removeClass().addClass('msg').text('Validating...').fadeIn(10);
> > > > >             
> > > > > $.post("{{=URL(r=request,c='default',f='ajaxuserexist')}}",
> > > > > {login:value},function(result){
> > > > >                 if(result=='yes'){
> > > > >                     $
> > > > > ("#resultbox").removeClass().addClass('error').text('Login already
> > > > > taken').fadeTo(900,1);
> > > > >                     submit = false;
> > > > >                 }else{
> > > > >                     $
> > > > > ("#resultbox").removeClass().addClass('success').text('Login is
> > > > > available for registration!').fadeTo(900,1);
> > > > >                     submit = true;
> > > > >                 }
> > > > >             });
> > > > >         }else{
> > > > >             $("#resultbox").removeClass().addClass('msg').text('This
> > > > > field is required');
> > > > >         }
> > > > >     }
>
> > > > >     </script>
> > > > > </head>
> > > > > <body>
> > > > >     <form id="form1" method="post" action="page2">
> > > > >         <label for="country">Login:</label><br />
> > > > >         <input type="text" id="login" name="login"
> > > > > onblur="getData(this.value)" /><br />
> > > > >         <div id="resultbox" class="msg"></div><br />
> > > > >         <input type="submit" id="bsubmit" name="bsubmit"
> > > > > value="Submit" />
> > > > >     </form>
> > > > > </body>
> > > > > </html>
>
> > > > > On 30 Cze, 22:12, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > > > > This should give you an error because the print(username) is outside
> > > > > > the funciton the function that defines username, after the function
> > > > > > returns. How are you passing the username to the ajax call? Did you
> > > > > > check with firebug that is calls the correct url?
>
> > > > > > On 30 Giu, 15:01, elfuego1 <elfue...@gmail.com> wrote:
>
> > > > > > > There was NO error messages. The code just didn't work.
> > > > > > > After inserting:
> > > > > > > print repr(username) to default.py I got:
>
> > > > > > > # -*- coding: utf-8 -*-
>
> > > > > > > #########################################################################
> > > > > > > ## This is a samples controller
> > > > > > > ## - index is the default action of any application
> > > > > > > ## - user is required for authentication and authorization
> > > > > > > ## - download is for downloading files uploaded in the db (does
> > > > > > > streaming)
> > > > > > > ## - call exposes all registered services (none by default)
> > > > > > > #########################################################################
>
> > > > > > > def index():
> > > > > > >     """
> > > > > > >     example action using the internationalization operator T and 
> > > > > > > flash
> > > > > > >     rendered by views/default/index.html or views/generic.html
> > > > > > >     """
> > > > > > >     response.flash = T('Welcome to web2py')
> > > > > > >     return dict(message=T('Hello World'))
>
> > > > > > > def user():
> > > > > > >     """
> > > > > > >     exposes:
> > > > > > >    http://..../[app]/default/user/login
> > > > > > >    http://..../[app]/default/user/logout
> > > > > > >    http://..../[app]/default/user/register
> > > > > > >    http://..../[app]/default/user/profile
> > > > > > >    http://..../[app]/default/user/retrieve_password
> > > > > > >    http://..../[app]/default/user/change_password
> > > > > > >     use @auth.requires_login()
> > > > > > >         @auth.requires_membership('group name')
> > > > > > >         @auth.requires_permission('read','table name',record_id)
> > > > > > >     to decorate functions that need access control
> > > > > > >     """
> > > > > > >     return dict(form=auth())
>
> > > > > > > def download():
> > > > > > >     """
> > > > > > >     allows downloading of uploaded files
> > > > > > >    http://..../[app]/default/download/[filename]
> > > > > > >     """
> > > > > > >     return response.download(request,db)
>
> > > > > > > def call():
> > > > > > >     """
> > > > > > >     exposes services. for example:
> > > > > > >    http://..../[app]/default/call/jsonrpc
> > > > > > >     decorate with @services.jsonrpc the functions to expose
> > > > > > >     supports xml, json, xmlrpc, jsonrpc, amfrpc, rss, csv
> > > > > > >     """
> > > > > > >     session.forget()
> > > > > > >     return service()
>
> > > > > > > def page2():
> > > > > > >     name = request.vars.login
> > > > > > >     #db.auth_user.insert(name=name)
>
> ...
>
> leggi tutto

Reply via email to