error with CONTS in models

48 views
Skip to first unread message

Dmitri Ermolaev

unread,
Aug 28, 2015, 12:38:56 AM8/28/15
to web2py-users
in models - 0.py or menu.py I declare:

CONST1 = 1
conts2 = 2


in controller I use this constatns - all work, BUT if I call an ajax function:
        onclick='''
                      //$(this).css('z-index','0');
                      $('#tag%s').hide('fast');
                      $('#cvr%s').css('display','block'); // .css('z-index','10');
                      ajax('%s',['vol','acc','dealer'], 'tag%s');
                      ''' % (id, id, URL('get', args=[id]), id)


in same controller in function get:
def get():
   print const2 ## success!
   print CONST1 ## <<<<<<--- ERROR! 

WHY?
constants in upper case raise error!
Message has been deleted

Dmitri Ermolaev

unread,
Aug 28, 2015, 1:25:48 AM8/28/15
to web...@googlegroups.com
not worked again ((

I declare const GIFT_CODE in models/0.py:
GIFT_CODE = None
if ...:
   GIFT_CODE=1
else:
  GIFT_CODE=0

then in any ajax call (fron any controller)
print GIFT_CODE - raise error ((

пятница, 28 августа 2015 г., 7:38:56 UTC+3 пользователь Dmitri Ermolaev написал:

Dmitri Ermolaev

unread,
Aug 28, 2015, 1:32:29 AM8/28/15
to web2py-users

in models/0.py that code work:
if request.cookies.has_key('gift_code'):
    ## если онн уже дежжит в кукиях то берем его а не новый из запроса
    MY_GIFT_CODE = request.cookies['gift_code'].value
    #print 'in cookies gift_code:', MY_GIFT_CODE
else:
    # если в кукиях нет кода то возможно он есть в запросе
    MY_GIFT_CODE = request.vars.gc # из запроса возьмем пригласительный код если он не задан в кукиех
    if MY_GIFT_CODE:
        ##print 'in request gift_code:', MY_GIFT_CODE
        from gifts_lib import store_in_cookies
        store_in_cookies(MY_GIFT_CODE)
        # а теперь когда запомнили куки переадресуемся чтобы сбросить код в строке запроса
        request.vars.pop('gc')
        redirect(URL(args=request.args, vars=request.vars))


in ajax controller:
if MY_GIFT_CODE:
  ... - work

If I use instead MY_GIFT_CODE that names: GIFT_CODE or _GIFT_CODE - it raise error - UnboundLocalError: local variable 'GIFT_CODE' referenced before assignment

why?

Dmitri Ermolaev

unread,
Aug 28, 2015, 5:29:15 AM8/28/15
to web2py-users
no - it not work too ((

for ajax call I use session ((

пятница, 28 августа 2015 г., 8:32:29 UTC+3 пользователь Dmitri Ermolaev написал:

Niphlod

unread,
Sep 2, 2015, 4:31:42 AM9/2/15
to web2py-users
can you please post a complete but MINIMAL controller that exhibits the error ?

Dmitri Ermolaev

unread,
Sep 5, 2015, 3:36:16 AM9/5/15
to web2py-users
sorry, I founf my error in logic!

in 0.py:
if request.ajax:
    pass
else:
    GIFT_CODE = ...




среда, 2 сентября 2015 г., 11:31:42 UTC+3 пользователь Niphlod написал:
Reply all
Reply to author
Forward
0 new messages