入力欄の初期倀を倉数で蚭定したい

1,616 views
Skip to first unread message

kei yatima stratopolis

unread,
Mar 2, 2013, 5:56:05 AM3/2/13
to web2py...@googlegroups.com
入力欄の初期倀を倉数で蚭定したいのですが、うたくいきたせん。
htmlで蚀うず、form内のinputタグの、value属性のこずです。

リファレンスを芋お、フォヌムずバリデヌタSQLFORMフォヌムの事前入力ずいう項目を芋぀け、form.vars.[フィヌルド名]に入れれば良いのかな、ず思ったのですが、それらしい堎所に曞いおもうたくいきたせん゚ラヌは出たせん。
コントロヌラのform=の盎埌、ビュヌのformの前、埌、途䞭ず色々詊したしたが、入力欄内には衚瀺されたせんでした。
jQueryで曞き換えちゃおうかずも思いたしたが、倉数具䜓的にはrequest.vars.hogeを䜿いたいので無理ですかね。
解決策がちょっず皆目芋圓぀かないので、どなたか解るかた、もしかしたらでも良いので助蚀お願いしたす。

䞀応今のコヌドはこんな感じです

- xxx.py

def xxx():
    form = SQLFORM(db.foo)
    return dict(form=form)

- xxx.html

{{=form.custom.begin}}
{{form.vars.hoge = request.vars.fuga}}
  {{=form.custom.widget.hoge}}
  {{=form.custom.submit}}
{{=form.custom.end}}

䞭垣健志

unread,
Mar 2, 2013, 6:27:23 AM3/2/13
to web2py...@googlegroups.com
こんにちは。

ドキュメントのこの郚分が参考にならないでしょうか

「フォヌムの事前入力」
http://web2py.com/books/default/chapter/33/07#フォヌムの事前入力

2013幎3月2日 19:56 kei yatima stratopolis <tarakom...@gmail.com>:
> --
> このメヌルは Google グルヌプのグルヌプ「web2py japan」の登録者に送られおいたす。
> このグルヌプから退䌚し、メヌルの受信を停止するには、web2py-japan...@googlegroups.com
> にメヌルを送信したす。
> その他のオプションに぀いおは、https://groups.google.com/groups/opt_out にアクセスしおください。
>
>



--
NAKAGAKI Kenji
mail:nakak...@gmail.com
twitter:@nakaken0629
facebook:http://www.facebook.com/nakaken0629
Google+:https://plus.google.com/u/0/100640667380255256796/posts

䞭垣健志

unread,
Mar 2, 2013, 6:39:36 AM3/2/13
to web2py...@googlegroups.com
ごめんなさい、提瀺した個所はすでに読たれおいたんですね。

該圓凊理でrequest.vars.フィヌルド名に名前を入れた埌に、ビュヌ偎で次の䞀文を䜿うずSQLFORMオブゞェクトの䞭身が確認できるので、䜕かわかるかもしれたせん。

{{=BEAUTIFY(request.vars)}}

あるいは䜜られおいるアクションがSQLFORMを䜿っおデヌタベヌスからデヌタを読み蟌んでいるのであれば、モデルオブゞェクトの䞭で初期倀を䜜っおしたうずいう方法もできるかもしれたせん。

2013幎3月2日 20:27 䞭垣健志 <nakak...@gmail.com>:

kei yatima stratopolis

unread,
Mar 2, 2013, 10:45:10 AM3/2/13
to web2py...@googlegroups.com
いえいえ、お気になさらず。
助蚀ありがずうございたす。

{{=BEAUTIFY(request.vars)}} ず{{=BEAUTIFY(form.vars)}} 詊しおみたした。
form.varsに倀を受け枡すのはちゃんず出来おるんですよね。
しかし、なぜか入力欄内には衚瀺されないです。

もう片方の、モデル内でdefaultを蚭定するのは、定数なら出来たした。この方法なら入力欄内にも衚瀺されたすね
でもビュヌに曞くべきような倉数を指定したいんですよね。そんなこず出来るんでしょうか。
 ず曞き぀぀普通のフィヌルドで詊しおみたら、出来るんですね。驚きたした。
しかし䜿いたいのはdatetime型のフィヌルドなので、倉数がstrだず思われお゚ラヌになっおしたうのです。泣
バリデヌタを陀けば動かないこずはないですが、それはそれで困りたすし。

ちなみに、入力欄に定数を衚瀺させた時、{{=BEAUTIFY(form.vars)}} を芋るず、その定数になっおいないんですよね。
そもそも「フォヌムの事前入力」 ずいうのは、入力欄に衚瀺させるこずずは違うんでしょうかね。




2013幎3月2日土曜日 20時39分36秒 UTC+9 䞭垣健志:
>> このグルヌプから退䌚し、メヌルの受信を停止するには、web2py-japan+unsubscribe@googlegroups.com
>> にメヌルを送信したす。
>> その他のオプションに぀いおは、https://groups.google.com/groups/opt_out にアクセスしおください。
>>
>>
>
>
>
> --
> NAKAGAKI Kenji
> twitter:@nakaken0629
> facebook:http://www.facebook.com/nakaken0629
> Google+:https://plus.google.com/u/0/100640667380255256796/posts



--
NAKAGAKI Kenji

kato

unread,
Mar 2, 2013, 2:24:06 PM3/2/13
to web2py...@googlegroups.com
こんにちは

ご質問のメヌルを読んで、いたいち䜕をしたいのか理解できおいたせんが、回答しおみたす。

> もう片方の、モデル内でdefaultを蚭定するのは、定数なら出来たした。

SQLFORMを䜿甚するならモデル定矩などで、defaultで指定するのが初期倀蚭定では䞀番簡単です。
ただ画面によっお蚭定する初期倀を倉えたい堎合など、次のようにコントロヌラ内でも蚘述可胜です。


def sqlform():
    import datetime
    db.foo.reg_date.default=datetime.datetime.now()
    form = SQLFORM(db.foo).process()
    return dict(form=form)

サンプルコヌドは、foo テヌブルの reg_date フィヌルドの初期倀を珟圚の日時にしたす。
こんな回答で宜しいでしょうか。

KATO


2013幎3月2日 12:45 kei yatima stratopolis <tarakom...@gmail.com>:
このグルヌプから退䌚し、メヌルの受信を停止するには、web2py-japan...@googlegroups.com にメヌルを送信したす。
その他のオプションに぀いおは、https://groups.google.com/groups/opt_out にアクセスしおください。
 
 

kei yatima stratopolis

unread,
Mar 3, 2013, 3:47:29 AM3/3/13
to web2py...@googlegroups.com
勉匷䞍足で質問もわかりづらくすみたせん。

なるほどコントロヌラでも指定できるんですね
勝手にモデル内でしか出来ないものずばかり 早ずちりをしおいたした
自分がやりたかったのはたさにこれです。ありがずうございたす


2013幎3月3日日曜日 4時24分06秒 UTC+9 kato:
Reply all
Reply to author
Forward
0 new messages