The method:
form=DIV(SPAN(T('Instruction text above the form')), form)
didn't work. I get an error:
AttributeError: 'DIV' object has no attribute 'accepts'
If I take it out, everything works as usual.
On Apr 12, 9:59 pm, Anthony abasta...@gmail.com wrote:
On Tuesday, April 12,
thank you so much for your advice.
what is the difference between put it on the models folder,
controllers folder and modules folder? i mean in performance, or maybe
syntax
thank you so much and best regards,
steve van christie
On 2011-04-13, pbreit pbreitenb...@gmail.com wrote:
I usually just
form[0].insert(0,TR('','Instructions',''))
If used by one controller, put in controller.
If used by multiple controllers, put in models.
If has little or no access to the DB or other Web2py global functionality,
put in module.
In theory there is a minor performance hit in adding code to models since
all models are loaded on every call.
On Wednesday, April 13, 2011 2:47:24 AM UTC-4, niknok wrote:
The method:
form=DIV(SPAN(T('Instruction text above the form')), form)
didn't work. I get an error:
AttributeError: 'DIV' object has no attribute 'accepts'
If I take it out, everything works as usual.
Yes, once you
On Wednesday, April 13, 2011 5:37:13 AM UTC-4, Anthony wrote:
On Wednesday, April 13, 2011 2:47:24 AM UTC-4, niknok wrote:
The method:
form=DIV(SPAN(T('Instruction text above the form')), form)
didn't work. I get an error:
AttributeError: 'DIV' object has no attribute 'accepts'
there are too many changes to the scatfolding app welcome, this is why I'm
packaging as an application and not as plugin, the changes come to models,
layout.html and web2py_ajax.html and the plugins use this changes, but there
are great benefits in doing that, more pluggable. To make an example
a, i c, it's open my mind, thank you so much for your advised. i'll try to
follow your advised. which is better to put the menu functionality that been
used by many views (same code in many views, the link is related with
database (request.args))?
thank you so much in advance.
best regards,
Hi everyone,
recently I discovered web2py and tried to convert a little script I
wrote that is used by some colleagues here at work as a web
application. All went smoothly and the apps is ready to use with the
simple default authentication method. I tried to experiment with the
ldap authentication
I think the sessions are locked while a controller is running using the same
session. So it would slow down concurrent requests via AJAX and things like
that, but that's why you need to call session.forget(request). Massimo's
tips will certainly help, but I didn't know if there were any known
As a sidenote: when providing an upload facility for users it it
better to implement some sort of feedback to the users, otherwise the
user may think the application is hanging. I'm looking at the
progressbar solution (no flash component needed) given in web2py slice
10, but I haven't got it
Hi,
I can't find solution..:
I have in model:
db.define_table('categories',
Field('name', 'string', length=512,
requires=(IS_SLUG())),
Field('title', 'string', length=512, required=True),
Field('description', 'text',
default=),
Field('created_on', 'datetime',
http://blargh.tommymontgomery.com/2011/04/introducing-sunlight/
Thank you for your efforts!
Meanwhile i will try wsgi from IIS.
The main question - can I rollback to some last year version before some
code improvement, where uploads were robastly stable???
Namely suspicious copystream from fileutils.py which open error bringing
socket.
Or may be
Models. You may have seen in the welcome app that there is a file
menus.py in the models folder.
a, i c, got it, thank you so much for your advised.
best regards,
steve van christie
Is this issue closed? I cannot reproduce the problem.
On Apr 11, 12:25 pm, Jens Örtenholm jens.ortenh...@gmail.com wrote:
Are we talking about different approaches here?
I am now certain I did something wrong the first time around. I made a simple
test as follows:
In db.py:
Dear Massimo ,
How can i generate XSL file that has compound charts?
Is there a library or somthing?
Thanks in Advnace
On Apr 7, 10:22 am, Neveen Adel nevo.a...@gmail.com wrote:
Thanks a lot Massimo , It helps me a lot.
On Apr 6, 6:41 pm, Massimo Di Pierro massimo.dipie...@gmail.com
Well, this is one of things I need the most.
Being able to use parts of the web2py admin panel or building
something based on it for direct use by clients threw the public web.
Is there anything about this?
Have you considered making it exportable or easily reusable?
Thank you
I had this working last year, but I did it all in python after grabing
basically all the data. Now I should be trying to do it as a database
query cause it's better.
I have following query now which works.
all_info = db(
(db.tag.id == db.users_tags.tag) \
(db.auth_user.id ==
the admin controller is one of the oldest pieces of web2py. Many of
its functions are available through gluon/admin.py
there is room for improvement. Can you provide some test cases?
On Apr 13, 11:31 am, blackthorne francisco@gmail.com wrote:
Well, this is one of things I need the most.
I've been following a conversation here: http://blog.rebeccamurphey.com/ in
which the author indicates a preference for Dojo Toolkit over JQuery. The
comments in her posts seem to support this point of view, not to mention
this less respectful post:
How could submit the forms by pressing the enter key?
I don't think you'll have any problem using Dojo, and as far as I know, you
can use it along with jQuery (if you need jQuery for anything). web2py
doesn't really depend on jQuery, but the scaffolding app does use jQuery in
calendar.js, superfish.js, and web2py_ajax.html (which adds web2py's
If you give this course again I would be interested. Please let us know
blackthorne, you mean like Django admin?
On 13 Nisan, 19:31, blackthorne francisco@gmail.com wrote:
Well, this is one of things I need the most.
Being able to use parts of the web2py admin panel or building
something based on it for direct use by clients threw the public web.
Is there
The course is in the books every quarter. If at any time we get more
than 5 people (threshold set by the university) to sign up, they offer
it.
It consists of 5 lectures (which I record) and one final project
(which you have to do but I help). You choose the project.
People can still sign up for
Jquery is much, much better suited to integrating into a more traditional
web site. Dojo takes over the complete user experience and is not really
comparable.
Like this?
http://web2py.com/book/default/chapter/06?search=distinct#Grouping-and-Counting
The regular Web2py forms should already work like that. Are they not for
you? What happens when you press 'enter'?
done http://code.google.com/p/web2py/issues/detail?id=232
On Apr 11, 3:44 pm, Massimo Di Pierro massimo.dipie...@gmail.com
wrote:
No objection in principle but need to check implementation. Can you
please open an issue on google code and upload your propose patch.
Thanks.
Massimo
On Apr 7,
With forms created with html helpers works, but crud forms not works,
when you press the enter key nothing happens.
On Apr 13, 12:25 pm, pbreit pbreitenb...@gmail.com wrote:
The regular Web2py forms should already work like that. Are they not for
you? What happens when you press 'enter'?
Yes, Django have done a good work there. I just got a client that
wants a backoffice and yes I am final on using web2py. I was
considering on reusing the admin ap in the best possible way..
Any reference on this?
On Apr 13, 7:28 pm, Mengu whalb...@gmail.com wrote:
blackthorne, you mean like
I have observed that in simple crud forms it works the enter key,
but crud forms with references to other tables, not working.
I mean the following types of tables:
db.define_table ('a ', Field ('FieldName', 'DateType'))
db.define_table ('b', Field ('FieldName', 'DateType'))
db.define_table ('c',
Can you be more specific? Django admin is the equivalent of web2py's
appadmin. All functionalities of appadmin are available via crud.
Massimo
On Apr 13, 3:41 pm, blackthorne francisco@gmail.com wrote:
Yes, Django have done a good work there. I just got a client that
wants a backoffice and
This works for me:
db.define_table ('a', Field('x'))
db.define_table ('b', Field('y'))
db.define_table ('c', Field('a', db.a), Field('b', db.b))
def crud_test():
form = crud.create(db.c)
return dict(form=form)
which browser?
On Apr 13, 3:52 pm, luifran lbernalhernan...@yahoo.es wrote:
I have observed that in simple crud forms it works the enter key,
but crud forms with references to other tables, not working.
I mean the following types of tables:
db.define_table ('a ', Field ('FieldName',
As much as I dislike the idea of frameworks adding major abstractions that
few will use, CoffeeScript does look much nicer to the eye, sort of like PHP
vs. Python.
http://news.ycombinator.com/item?id=2442663
Hi,
I can see that tables and fields are allowed in DAL and Set:
DAL
db(db.table)
db(db.table.field)
Set
db(...)(db.table)
db(...)(db.table.field)
They are automatically converted to valid Query objects in the respective
__call__ functions.
But the
I do not have a strong objection but the syntax is both cases is
ambiguous. Only
db(table).select()
is not.
On Apr 13, 4:18 pm, Carlos carlosgali...@gmail.com wrote:
Hi,
I can see that tables and fields are allowed in DAL and Set:
DAL
db(db.table)
My default browser is Firefox 4
On 13 abr, 23:05, Massimo Di Pierro massimo.dipie...@gmail.com
wrote:
which browser?
On Apr 13, 3:52 pm, luifran lbernalhernan...@yahoo.es wrote:
I have observed that in simple crud forms it works the enter key,
but crud forms with references to other
Works OK for me on Mac Firefox 4.
Well, I think you do this in django by importing django.contrib.admin
where you can easily reuse the same parts of the django admin site. In
web2py, the admin app is great, it offers a lot of features
including things I don't want to include as well as missing one or two
specific tasks. I am now
I am sorry I still do not understand which part of admin would be
useful at the app level. In any case all the functionalities of admin
are available via
import gluon.admin
appadmin (the equivalent of django admin) is already part of the apps
(in appadmin.py) and - as a I said - all its
Thanks pbreit! I'm trying to user your code but nothing happens... It shows
the list with the link, but when I click the link nothing happens, no
errors, no changes.
Couldn't be easiest if I do it with checkboxes??? (I don't really know how)
On Tue, Apr 12, 2011 at 4:30 PM, pbreit
i'll test the pbreitenbach's code and it works fine, pardon, which browser
that u used?
best regards,
steve van christie
Tried with Chrome, Firefox. Nothing Happens :(
On Wed, Apr 13, 2011 at 5:34 PM, Ismael Alejandro ialejandr...@gmail.comwrote:
I'm using chrome
On Wed, Apr 13, 2011 at 5:28 PM, Stifan Kristi
steve.van.chris...@gmail.com wrote:
i'll test the pbreitenbach's code and it works fine, pardon,
untested but...
If i where to write raw SQL, i think this is what you are asking for (where
auth.user.id==42):
SELECT ut.user, count(*)
FROM users_tags ut
WHERE ut.user != 42
AND ut.tag IN (SELECT tag FROM user_tags WHERE user=42)
GROUP BY ut.user
ORDER BY count(*)
and i think this
Works ok for me on Mac Safari, Chrome and Firefox. Make sure to first create
at least one room with a status *other* than verified. You won't see
anything happen if the status is already verified.
This one may show it more clearly. It will toggle the status between
booked and verified.
===
hi ismail,
i've tested it, your apps work fine on me, i think it's related with your
browser.
best regards,
steve van christie
It didn't work for me at first when I went to http://127.0.0.1:8000/booking
but it starting working when I went to
http://127.0.0.1:8000/booking/default/index
Also try restarting web2py to make sure routing is working OK.
Awesomee!!! That worked!!! Thanks!
On Wed, Apr 13, 2011 at 6:49 PM, pbreit pbreitenb...@gmail.com wrote:
It didn't work for me at first when I went to
http://127.0.0.1:8000/booking but it starting working when I went to
http://127.0.0.1:8000/booking/default/index
Also try restarting
same for me, i run it on url:
http://127.0.0.1:8000/booking/default/index
best regards,
steve van christie
hi,
i try to follow the advise about functions from :
http://web2py.com/book/default/chapter/11#Efficiency-and-Scalability
- Minimize the code in models: do not define functions there, define
functions in the controllers that need them or - even better - define
functions in modules, import them
Note, there is a special method for caching selects:
http://web2py.com/book/default/chapter/06#Caching-Selects. Is that what
you're using?
On Wednesday, April 13, 2011 8:00:22 PM UTC-4, 黄祥 wrote:
hi,
i've tried to follow the advise about 'Use cache.ram as much as you
can but make sure to
If it's just a few (small) functions, go ahead and put them in model files,
as reading a few extra function definitions will probably have a negligible
impact on performance. In particular, if the functions are used in many/most
requests, you would save little by moving them to modules because
yes, i've tried to implement the code from that url.
here is my function :
models/db_functions.py:
def __index(table):
if len(request.args):
page = int(request.args[0])
else:
page = 0
items_per_page = 20
limitby = (page * items_per_page, (page + 1) * items_per_page + 1)
rows =
How do you know it's not working? What behavior are you observing?
On Wednesday, April 13, 2011 8:20:25 PM UTC-4, 黄祥 wrote:
yes, i've tried to implement the code from that url.
here is my function :
models/db_functions.py:
def __index(table):
if len(request.args):
page =
hi antony,
thank you so much for your adviced, in my case (please see attached file),
would you prefer to put it on models or modules?
right now i put it on models, please give an advice or suggestion?
thank you very much in advance.
steve van christie
On Thu, Apr 14, 2011 at 7:17 AM, Anthony
pardon me, for not explain it more clearly, when i put *cache = (cache.ram,
60)* the new data is not show immediately after i inserted it, after a few
minutes, it will appears, but when i delete *cache = (cache.ram, 60)*, the
new data is show immediately after i inserted it. is it the behaviour of
I think this is probably fine in a model file. You've got references to a
number of web2py globals in those functions, so if you move them to a
module, you've got some extra hassle importing framework classes and passing
globals as parameters. If at some point you've got *a lot* of long
The advice reamins the same: put them in models. Please, please, please
disregard the section on scalability for now. You will know when you need to
read it and it is not now.
Do yourself a huge favor and disregard the section on Scalability for now.
Web2py scales well without those techniques. And it will make your
programming much simpler and reliable.
HI Massimo,
I tried that deployement slice last night on 2 Ubuntu machines
(desktop and that laptop version). Worked great!
I noticed the certs getting generated (nice Feature BTW!:). Only, one
question. Since it has certs, how can I enable admin and start/stop
web2py? I'm thinking i just need
On Wednesday, April 13, 2011 8:31:05 PM UTC-4, 黄祥 wrote:
pardon me, for not explain it more clearly, when i put *cache =
(cache.ram, 60)* the new data is not show immediately after i inserted it,
after a few minutes, it will appears, but when i delete *cache =
(cache.ram, 60)*, the new
ok, i'll follow your adviced to put it on models, it's clear for me as a
newbie in python and web2py. pardon me, to asked many times about this
matter.
thanks and best regards,
steve van christie
yes, after i inserted a new data, i immediately checked the new one, but it
didn't appears, after i checked it many times, and after few minutes, the
data is show up. i think for now, i'll try to not use *cache = (cache.ram,
60)*, because i'm still learning the python and web2py.
thank you so
I can get stuff done using web2py, but sometimes I have a little
trouble understanding exactly when controller code is called in
certain cases. For self-submitting forms, I'm not sure I quite get it.
My current understanding is that the controller function is called
twice. Once for generating the
I'm playing around with web2py for the first time on a project that is
using GAE to accept and process inbound email. When mail comes in to
GAE, you need to tell it what piece of code to run in your app.yaml to
handle it:
- url: /_ah/mail/.+
script: applications/myapp/modules/incoming.py
Just got this same bug in Version 1.94.6 (2011-03-27 18:20:38)
Had to change line 18 of MYAPP/VIEWS/PLUGIN_WIKI/INDEX.HTML from:
td{{=page.active and 'active' or 'inactive'}}/td
to:
td{{=page.is_active and 'active' or 'inactive'}}/td
Cheers
KQ
On Mar 10, 9:24 am, villas
If you are suing the most recent setup-web2py-ubuntu.sh is should ask
you for admin password at the end of the script and admin should be on
by default. It only needs that go over https://.../admin
On Apr 13, 7:42 pm, mart msenecal...@gmail.com wrote:
HI Massimo,
I tried that deployement slice
If you call it with expire_time=0 it will force a cache reset.
On Apr 13, 7:49 pm, Stifan Kristi steve.van.chris...@gmail.com
wrote:
yes, after i inserted a new data, i immediately checked the new one, but it
didn't appears, after i checked it many times, and after few minutes, the
data is
hi massimo,
i'll try your adviced, pardon, how / where to put expire_time = 0? i've
already search it on the book :
http://web2py.com/book/default/docstring/expire_time
http://web2py.com/book/default/docstring/expire_timebut it returns null
thank you so much in advance.
best regards,
steve
You seem to have an old version of plugin_wiki. should be 'is_active',
not 'active'
Massimo
On Apr 13, 7:41 pm, KQ jpistor...@gmail.com wrote:
Just got this same bug in Version 1.94.6 (2011-03-27 18:20:38)
Had to change line 18 of MYAPP/VIEWS/PLUGIN_WIKI/INDEX.HTML from:
Hello Stifan,
for a db(...).select(...) you would do
db(query).select(cache=(cache.ram,0))
the zero will reset the cache for this query.
On Apr 13, 2011, at 9:43 PM, Stifan Kristi wrote:
hi massimo,
i'll try your adviced, pardon, how / where to put expire_time = 0? i've
already
hum interesting. So, I think it was the latest .sh script (it was
downloaded), but it didn't ask me for a password... ok, maybe I
overlooked the question.. so, I should then be able to kill web2py
(maybe by stopping apache), restarted @ the cmd line using a -a
option. I'll try it!
Thanks,
The script should contain these lines which you can run yourself:
cd /home/www-data/web2py
sudo -u www-data python -c from gluon.widget import console;
console();
sudo -u www-data python -c from gluon.main import save_password;
save_password(raw_input('admin password: '),443)
On Apr 13, 9:49
On Apr 13, 2011, at 4:06 PM, Mike Giles wrote:
I'm playing around with web2py for the first time on a project that is
using GAE to accept and process inbound email. When mail comes in to
GAE, you need to tell it what piece of code to run in your app.yaml to
handle it:
- url: /_ah/mail/.+
I made it fit my tables better:
count = db.users_tags.id.count()
query = db((db.users_tags.user != auth.user.id) #--- that is a join
(db.users_tags.tag.belongs(db(db.users_tags.user==auth.user.id)._select(
#--- I thought select was only used at the end when you
I found an isssue running bpython on ubuntu 11.04
I tried this:
$python web2py.py -S welcome -B
web2py shell started in bpython (looks awesome \o/), now I entered this
code:
db = DAL(sqlite:memory)
db.define_table(person, Field(name))
db.tables
['person']
db.person.insert(name=Tom)
1
rows =
It's great to see you using web2py!
I am also working to make web2py a popular tool in the small and medium
business markets. And it is serving me well here in Finland.
---
Good Luck!
Jason
On 04/14/2011 01:47 AM, Todor Todorov wrote:
I am running a small IT company in Bulgaria. We are not
a, i c, thank you so much for your explaination, massimo.
best regards,
steve van christie
On Thu, Apr 14, 2011 at 9:48 AM, Massimo Di Pierro
massimo.dipie...@gmail.com wrote:
Hello Stifan,
for a db(...).select(...) you would do
db(query).select(cache=(cache.ram,0))
the zero will
I think cache.ram is funky. I tried a small test by cache.ram'ing a
controller function, like this:
@cache(request.env.path_info, time_expire=10, cache_model=cache.ram\
)
def test():
d = dict(x = 30)
return response.render(d)
and in test.html
{{=x}}
..
If you change 30 to 40, for
so what u suggested? use cache.ram or not or maybe try memcache?
please advice...
thanks and best regards,
steve van christie
On Thu, Apr 14, 2011 at 11:50 AM, VP vtp2...@gmail.com wrote:
I think cache.ram is funky. I tried a small test by cache.ram'ing a
controller function, like this:
Neither. You probably won't need them. Focus on your app's functionality.
I would like to exclude some chars when my form validates.
I need to insert/update record value only with letters and digits.
The undesirable chars are: [-](_)*/%!@#$^ etc
How can I validate form?
The _select is a nested select - the one in the second half of the WHERE
clause that Christian wrote out for the SQL equivalent.
But the _select needs to return exactly one column, try changing _select()
to _select(db.user_tags.tag)
There is some discussion in the manual under the belongs
87 matches
Mail list logo