2016-09-04 34 views
0

次の部分コードは、HTMLとPythonを組み合わせたものです。私のデータベースの表productsの製品の値(item_name, description, item_price)がHTMLにレイアウトされ、各項目の横に「カートに追加」入力ボタンがあります。htmlからデータベースへのデータの送信

{% for product in products %} 
    <li> 

     <b>Name/Model:</b> {{ product['item_name'] }}<br> <b>Description:</b> {{ product['description'] }}<br> <b>Price: </b> {{ product['item_price'] }}$ 

     <input type="submit" value="Add to cart"/> 

    </li> 
{% endfor %} 

押すとカートに追加し、item_cartと呼ばれる私の他のテーブルにそのボタンの隣に製品の情報を送信する方法はありますか?

この種の混合言語プロジェクトは非常に新しいものです。私の問題の解決に役立つ特別なコードが必要な場合はコメントに質問し、必要なコード部分を共有します。

+0

はい、これはさまざまな方法で実行できます。たとえば、各製品のIDを取得して、エコーしている各行に追加することができます。取り入れるアプローチに応じて、さまざまな方法で更新を行うことができます。多分Ajaxを提案することができますので、ページをリロードする必要はありません。 – Eli

+0

これは私にとってはDjango Template Languageのようです。私はそれがドキュメントに書かれているいくつかの方法があると確信しています。 –

+0

残念ですがEliはもう少し具体的にできますか?私はチュートリアルを検索しようとしましたが、3日前にこのプロジェクトをやっていて学習し始めたので、それらの多くは意味をなさない。あなたができればありがとう! – pythonsohard

答えて

0

はい、できます。表示するには、作成する必要があります。

そうのようなあなたのビューは、product.product_idを取るパラメータを持っています:

def addToCart(request, product_id): 
    p = Product.objects.filter(product_id = product_id) 
    #put the product in your member's cart table, 

は、その後、あなたのテンプレートでは、あなたの「カートに追加」入力ボタンを呼び出します。

"/addToCart/{{ product.product_id }}/" 

を私は願っていますこれはあなたにある方向を与える。

+0

ビューは新しいPythonファイルで作成されるか、または私が投稿したhtmlファイルに追加されましたか?ありがとう! – pythonsohard

+0

@pythonsohardこのDjango Template Language(DTL)ファイル以外のファイルがたくさんあるはずです。このファイルは、 "templates"というフォルダ内にある必要があります。 appフォルダに 'views.py'ファイルがあります。 –

+0

Djangoを使って新しいプロジェクトを作成すると、すべてのファイルとフォルダが作成されます。手動で設定するテンプレートと静的フォルダは除きます。 views.pyファイルは、あなたのappフォルダに作成されます。あなたはDjangoの基本的なセットアップを学び、前進してください。さもなければ、暗闇の中で撮影しています。 –

関連する問題