2016-10-09 1 views
0

데이터베이스의 데이터가 아닌 Django에서 HTML로 테이블을 작성하고 싶습니다. django-tables2은 장고에서 사용할 수있는 좋은 패키지입니다. 그러나, 내 데이터는 데이터베이스에서가 아니므로 Django 모델을 사용할 필요가 없을 수도 있습니다. 여기 view.py 및 HTML 페이지의 내 코드는 제공 :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 
나는이 데이터를 표시하는 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 테이블에 데이터를 출력 할 수 있습니다. 아래의 예를 참조하십시오

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

html로가 발생합니다 지역 :이 될 것 장고에서

<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로 인쇄하면 두 번째 스 니펫이 표시됩니다. 장고 (Django) 뷰에서이를 사용하는 방법을 보여주는 세 번째 스 니펫 (snippet)을 포함했습니다. –

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 %} 
관련 문제