Anthony <abastardi@...> writes:
>
>
> It would probably help if you show some code, or at least explain in more
detail an example where self submission is not possible or overly
difficult. Note, your code can always distinguish between a form creation
request and a form submission request by checking whether request.post_vars
is None or whether request.env.http_method == "POST". As Jim suggested, if
you are using SQLFORM, the easiest way to pre-populate is by setting field
default values before form creation.Anthony
>
>
Well, I cannot show any code - because I haven't written any real stuff yet
- and I cannot give an example of where self-submission could not work
because I haven't gotten to that point, yet (if at all). As I said I'm just
investigating but self-submission is one aspect of web2py that did stand
out to my superficial run through its features.
My experience in web-type applications is of the 'single purpose code'
type: one method assembles the data for the web page, from a database or
some default values etc., and then 'returns' it to the web client; then an
entirely separate method is the target for the subsequent HTML form
submission, it receives the data and creates the necessary data structure
(object or whatever) and populates it from the data on the POST, stores it
in the DB etc. This has a complete separation of functions.
And to some extent it is this lack of a clean separation that I find a
problem in the self-submission case, perhaps more philosophically than
practically, I'll agree.
But to return to the example I gave: I did quote from the book:
"It is always possible to pre-populate a form using the syntax:
form.vars.name = 'fieldvalue'
Statements like the one above must be inserted after the form declaration
and before the form is accepted, whether or not the field ("name" in the
example) is explicitly visualized in the form."
but are you suggesting that it is better to populate the db.tablename
object's defaults before the 'form=SQLFORM(...' statement ?
And I did suspect that there was some indicator used within the FORM object
- you mention request.post_vars being None, so if there were any complex
code to establish the pre-population values I should enclose that in a
condition like:
if request.post_vars == None:
#
# put pre-population data acquisition here
# including calls to other methods - if lengthy code
#
form = SQLFORM(...
Sorry to go on so...
Graham
--
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.