2014-01-28 86 views
1

我在RedHat的openShift平臺上使用Django,使用Django並嘗試將NLTK結果輸出到瀏覽器。 但是當我嘗試用結果做HttpResponse時,它返回null。如何從瀏覽器打印Python NLTK輸出(在Django中)

如何訪問NLTK調用並將結果輸出到瀏覽器?

我測試了一致性函數的內容,它在逐行放入Python shell時起作用。 有什麼不同? 我試過不同的東西來獲得標準輸出。

views.py:

import os 
from django.shortcuts import render_to_response 
from django.http import HttpResponse, HttpRequest 
import json 
import nltk 
import nltk.data 
import pickle 
import subprocess 

def home(request): 
    return HttpResponse("<h2>intro</h2>") 

def concordance(request): 
    script = request.GET.get('script') 
    textPath = [path to file dir] 
    fullTextPath = textPath+script+'.txt' 

    f=open(fullTextPath) 
    raw=f.read() 

    tokens = nltk.word_tokenize(raw) 
    text = nltk.Text(tokens) 

    result = text.concordance('love') 

    return HttpResponse(result, "Content-Type: text/html") 

從urls.py(路由似乎是工作)

urlpatterns = patterns('', 
    # Examples: 
    url(r'^$', 'openshift.views.home', name='home'), 
    url(r'^concordance/', 'openshift.views.concordance', name='concordance'), 
+0

我已經將範圍縮小到NLTK函數問題: 函數輸出似乎與我之前遇到的不同 - 也許它是Python的東西,或者它可能是NLTK的東西。無論哪種方式,它在輸出處理結果的這一點上都很痛苦。 – jmhead

回答

1

我覺得語法是:

return HttpResponse(result, content_type="text/html") 

return HttpResponse(result, "Content-Type: text/html") 
+0

實施更改;但仍然沒有NLTK輸出 – jmhead

+0

你可以用你的'urls.py'的相關部分更新你的問題嗎 – ptr