2016-12-13 13 views
0

ここにDjango noobがあります。 私はdjangoでcvsをエクスポートすることについて私の問題に固執しています。私は現在、モデル製品のviews.pyでこの関数を使用して、データベース内のすべてのオブジェクト(Product)を含むcsvファイルを正常にエクスポートしています。テンプレートからDjangoのビューにパラメータを渡す

def export_csv(request): 

    response = HttpResponse(content_type='text/csv') 
    response['Content-Disposition'] = 'attachment; filename="product-inventory.csv"' 

    writer = csv.writer(response) 
    writer.writerow(['Product Name', 'STATUS']) 

    products = Product.objects.all().values_list('name', 'status') 

    for product in products: 
     writer.writerow(product) 

    return response 

)(私は動的にProduct.objects.allを変更することができますどのようにこれは私のテンプレート

<a class="export-btn" id="test" href="{% url 'export_csv' %}">Export</a> 

をしており、これは問題があるurl.py

url(r'^export/csv$', product_views.export_csv, name='export_csv') 

です私のexport_csv機能は、検索を使用してユーザーから取得した製品リストと同じになるように機能します(re quest.GET別の関数で)?

ありがとうございます。

+1

あなたは「別の関数で」とはどういう意味ですか?別のビューでそれがうまくいかない場合は、同じ方法でgetパラメータを渡す必要があります。 – Sayse

答えて

0

テンプレートフォームに追加してください:

<form method="GET" action=""> 
    <input type="text" name="q" placeholder="Search"> 
    <input type="submit" value="Search"> 
</form> 

今ビューでは、検索値とフィルタの製品を取得することができます:

search = request.GET.get('q') 
products = Product.objects.filter(name__icontains=search).values_list('name', 'status') 
+0

こんにちは、私はすでに私のフォームにこれを持っており、それは正常に検索します。私は、検索からCSVファイルをエクスポートする関数に正確な製品リストを渡したいだけです。 –

+0

@GGWordPressあなたはある視野に検索フィールドがあり、その結果を別のビューに渡したいと思っていますか? 1つのビューを使用することはできますか? – neverwalkaloner

+0

私は理解しているかどうかわかりませんが、はい。私はrequest.GETを1つのview.py関数で生成し、製品のリストにします。 –

関連する問題