2017-08-17 7 views
0

ユーザーがcsvファイルをアップロードできるサイトを作成しています。現在、ファイルの内容をダウンロードせずに表示できるページで作業しています。これを行うには、私はそうのような景色でcsvファイルを読んでいます:ビュー/テンプレートを使用してテーブルにCSVコンテンツを表示する

def source_details(request, source_id): 
    context_dict = {} 

    # Get a specific object 
    data_source = Source.objects.get(id=source_id) 
    context_dict['data_source'] = data_source 

    # Open the csv and print it to terminal 
    with open(MEDIA_ROOT+data_source.sample, newline='') as csvfile: 
     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|') 
     for row in spamreader: 
      print(', '.join(row)) 


    return render(request, 'data/source-details.html', context_dict) 

あなたは私が何の問題アップロードされたCSVファイルを開くと、端末にそれを印刷していない、これまで見ることができるように、しかし、私はそれを表示したいと思いますテーブルとしてのブラウザ。どのように私はこれを達成することができます上の任意のアイデア?ありがとう。

答えて

0

あなたが好きなリストのリストを作成したい場合があります:

csv_preform = [[row1],[row2],[row3]] 

し、表のように、テンプレートにコンテキストとループにそれを渡し:

<table> 
<tr> 
    <th>Test1</th> 
    <th>Test2</th> 
     ... 
</tr> 

{% for row in csv_preform %} 
<tr> 
    {% for sub_row in row %} 
     <td>{{sub_row}}</td> 
    {% endfor %} 
</tr> 
{% endfor %} 
</table> 
関連する問題