0

私のコード:

<html>
<style type="text/css">
    h1 {
         position: absolute;
         top:   5px;
         left:  200px;      
       }    

    form #Edit1 { 
                   position: absolute; 
                   top:    37px; 
                   left:   410px; 
                }

    form #Edit2 { 
                   position: absolute; 
                   top:    37px; 
                   left:   840px; 
                }

    </style>
    <font size="4" face="arial" color="#0000FF">
    <h1>XML Search</h1>
    </font>
    <br/>
    <br/>
    <Form Action ="/search/" Method ="POST">
    <div id="Edit1">
        <INPUT TYPE = 'VARCHAR'  name ='word' VALUE ="" size = "50">
    </div>
    <div id="Edit2">
        <INPUT TYPE = "Submit" VALUE = "Search">
    </div>
    <br/>
    <hr/>
    {% csrf_token %}
    </Form>

    {% if list1 %}
          <br/>     
          <head>
            #!/usr/bin/python
            # make a horizontal bar chart
            from pylab import *
            val = 3+10*rand(5)    # the bar lengths
            pos = arange(5)+.5    # the bar centers on the x axis

            figure(1)
            barh(pos,val, align='center')
            {% for l in list1 %}
                   xticks(pos, ({{l.file_name}},))
            {% endfor %}
            xlabel('Performance')
            title('How fast do you want to go today?')
            grid(True)
            show()
          </head>
          <body>
            <div id="chart_div" style="width: 1000px; height: 500px;"></div>
          </body>

    {% endif %}
</html>

ユーザーが10xmlドキュメントに入力したキーワードを検索し、各ファイルの出現頻度を維持する「検索」というアプリをDjangoで作成しました。ユーザーが単語を入力すると、結果がグラフとして表示されます。この上記の HTML コード ファイルは、views.py ファイルからリダイレクトされます。サーバー上でアプリを実行すると、ユーザーがキーワードを入力すると、HTML コードと共に使用される Python コードがそのまま出力されます。pylabで作成したチャートをHTMLページに表示するにはどうすればよいですか?

別のアイデアがあります。以前に Google チャートを使い果たしましたが、正常に機能しています。それらの唯一の問題は、インターネットがないと機能しないことであり、これはアプリの欠点になります。これを解決する方法はありますか?つまり、Google チャートを静的に使用するにはどうすればよいでしょうか? 私の Google チャート コードをアップロードしてほしいという方がいらっしゃいましたら、それを実行できます。

4

1 に答える 1

1

FigureCanvasAgg バックエンドを使用して HttpResponse を返す必要があります。たとえば、次を参照してください。

[Matplotlib を使用した Django][1]

DjangoでMatplotlibを使用するには?

于 2012-07-09T14:36:11.043 に答える