2016-04-28 13 views
0

カテゴリの検索フィルタを作成しようとしています。問題は、他にも、私が精神的に好きなようにPythonの選択がうまくいかないことです。 sqliteでは、SELECT * FROM Auctionsのカテゴリ= 'arg'が必要です。これはデータベース上で、argがどこにあるかを言うtoyを入力するときに機能します。 カテゴリはドロップダウンにありますが、値の抽出方法は不明です。検索フォームが使用されている場合は、現在選択されているカテゴリを表示してから価格フィールドで作業します。これを行うにはweb.pyの方法を理解しようとしています。私は何を持っているのHeres。これは学校プロジェクトです。HTML Web.py Webフレームワーク単純カテゴリ検索

フォーム:

FilterForm = web.form.Form( 
     web.form.Textbox('Search', web.form.notnull, description="Search:"), 
     web.form.Dropdown(name='Category', args=[]), 
     web.form.Textbox('minPrice', web.form.notnull, description="Price Min: "), 
     web.form.Textbox('maxPrice', web.form.notnull, description="Price Max: ") 
     web.form.Button('Apply Search Filter') 
    ) 
    def POST(self): 
    if not FilterForm.validates(): 
     Auctions = model.filter_auctions(FilterForm.d.Category, FilterForm.d.maxPrice, FilterForm.d.minPrice) 

     FilterForm.Category.args = [(a.ItemID, a.Category) for a in Auctions] 
     return render.index(Auctions, 
       AuctionForm, 
       Bids, 
       BidForm, 
       Logins, 
       LoginForm, 
       FilterForm, 
       TimeForm) 
    raise web.seeother('/') 

モデル:

def filter_auctions(category, price_min, price_max): 
     return db.select('Auction', where="Category=category") 

HTML:

<ul id="filtermenu"> 
    <li><a href="#">Add Filter</a><span class="rarrow">&#9654;</span> 
     <ul class="subF1"> 
      <form action="" method="post"> 
      $:FilterForm.render() 
      </form> 
     </ul> 
    </li> 
</ul> 

答えて

0

だから、これはタイプミスになってしまったとmanページを読んだ後の事がより明確になりました。誰かが似問題に実行された場合、私は、少なくともポストどうなるかworked.Theモデル

モデル:

def filter_auctions(category, price_min, price_max): 
    return db.select('Auction', where="Category=$category AND Price>$price_min 
    AND Price<$price_max", vars=locals()) 

フォーム:

if FilterForm.validates(): 
    Auctions = model.filter_auctions(FilterForm.d.Search, FilterForm.d.Category, FilterForm.d.minPrice, 
    FilterForm.d.maxPrice) 
関連する問題