2016-10-09 4 views
0

DjangoのHTMLでテーブルを作成したいだけです.Djangoのデータはデータベースからのものではありません。 django-tables2は私がDjangoで使用できる良いパッケージだと思われます。しかし、私のデータはデータベースからのものではないので、Djangoモデルを使う必要はないかもしれません。私はこのデータを表示するためにHTMLにforループを使用することができますDjangoのデータベースにHTMLなしでテーブルを書く方法

def device_manager_submit(request): 
    '''Switch manager page''' 
    ret = rest.send_device_tor(device_name) #data from rest API exist in the form of array of dictronary: [{}, {}, {}] 
    return HttpResponse(ret) #return data to HTML 

が、私はそれらを表示する方法については明確ではないよ:ここview.pyとHTMLページの私のコードは付属し

<tbody> 
     {% for item in xx %} //I'm not sure 
     <tr> 
      <td>111</td> //how to display? 
     </tr> 
     {% endfor %} 

ん誰でも私がHTMLでview.pyからデータを表示するために従うことができる例があります

答えて

0

を使用してデータをロードしてから、DataFrame.to_html()を使用してデータをHTMLテーブルに出力します。以下の例を参照してください:HTMLがになります

import pandas as pd 
data = [{'column1': 1, 'column2': 2}] 
df = pd.DataFrame(data) 
html = df.to_html() 

Djangoのビューで

<table border="1" class="dataframe"> 
 
    <thead> 
 
    <tr style="text-align: right;"> 
 
     <th></th> 
 
     <th>column1</th> 
 
     <th>column2</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <th>0</th> 
 
     <td>1</td> 
 
     <td>2</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

これは次のようになります。あなたは必要ありません

@api_view(['GET']) 
def showData(request): 
    data = [{'column1': 1, 'column2': 2}] 
    df = pd.DataFrame(data) 
    html = df.to_html() 
    return HttpResponse(html) 
+0

こんにちは、グレッグ説明できますか?パンダを使用するときにHTMLにデータを返す方法 – vinllen

+0

htmlを印刷すると、2番目のスニペットが表示されます。 Djangoビューでこれを使用して手助けする方法を示す第3のスニペットを含めました。 –

1

Djangoオブジェクトを返してテンプレートを作成するには、任意のデータを使用できます。 render()関数を使用すると、コンテキストを通常のHttpResponseと組み合わせることができます。それを呼び出すビューに与えられたリクエスト、レンダリングするテンプレートの名前、そしてテンプレートに提供するデータの辞書を渡します。

def device_manager_submit(request): 
    '''Switch manager page''' 
    ret = rest.send_device_tor(device_name) #data from rest API exist in the form of array of dictronary: [{}, {}, {}] 
    return render(request, 'some_template.html', {'devices': ret}) #return data to HTML 

retnamedescriptionでいくつかのオブジェクトが含まれていると仮定すると、我々はそうのようなdevicesをループすることができます、あなたの答えのおかげで、あなたはそれをより詳細に

<tbody> 
     {% for device in devices %} 
     <tr> 
      <td>{{ device.name }}</td> 
      <td>{{ device.description }}</td> 
     </tr> 
     {% endfor %} 
関連する問題