0

昨日のstackoverflowの助けのおかげで、コードが進歩しました。しかし、私のページに関して質問があります。これが私のコードです

#!/usr/bin/python
print 'Content-type: text/html\n'
print

#May 17
import cgi, cgitb
cgitb.enable()

form=cgi.FieldStorage()

#May19
dataset1=open('Book1.csv','r')
dataset2=open('Race Demographic by state.txt','r')

sources='''<hr><h4>Sources!</h4><a     href="http://en.wikipedia.org/wiki/Demographics_of_the_United_States">Race Demographics</a>
<a href="http://voices.yahoo.com/average-sat-scores-state-2010-7702520.html?cat=4">SAT     Scores</a>
<a href="http://lisa.stuy.edu/~keiran.carpen/BriansDirectory/Sat scores by     state.txt">SAT Scores txt file</a>
<a href="http://lisa.stuy.edu/~keiran.carpen/BriansDirectory/Race Demographic by     state.txt">Race Demographics txt file</a></body></html>'''

def datasplitter(x):
    data = x.read()
    return data.split("\n")


def datdatamang(x):
    data = datasplitter(x)
    index = 0
    WhileNumber = 0
    while index < len(data):
        WhileNumber = 0
        string = data[index]
        string.split(" ")
        x=''
        while WhileNumber < len(string):
            if string[WhileNumber] == ',':
                x=x+'</td><td>'
            else:
                x=x+string[WhileNumber]
            WhileNumber+= 1
        ' '.join(string)
        data[index]='<tr><td>'+x+'</td></tr>'
        index+=1
    result=' '.join(data)
    result='''<table border='1'>'''+result+'</table>'
    return result

#May 19
def getDescription():
    page = ''
    state = ''
#May20
    if 'Drop' in form:
        if form['Drop'].value =="Description":
            page+= 'Ever since its conception, the SAT examinations have been widely     controversial.Many individuals believe that their race is the most intellectually superior,     and that their SAT scores reflect on their superiority. It is my job to find this     correlation between scores and race and end the battle among the races!'
        if form['Drop'].value=="High SAT Scores":
            page+= datdatamang(dataset1)
        if form['Drop'].value=="Race Demographics":
            page+= datdatamang(dataset2)
        if form['Drop'].value=="source":
            page+= sources
        else: 
    return page

#May 21
def getState():
    table=''
    if 'on' in form:
        state+= form['on'].value
    if state in dataset1:
        state.header=dataset1.index(state)
        for n in dataset1[state.header]:
            table+='''<tr>'''+n+'''</tr>'''
        return '''<td>'''+table+'''</td>'''


def getRacebyState():
    if 'on' in form:
        state+= form['on'].value
    if state in dataset2:
        state.header=dataset2.index(state)
        for n in dataset2[state.header]:
            table+='''<tr>'''+n+'''</tr>'''
        return '''<td>'''+table+'''</td>'''




#May 20
print '''<html><title>SAT Analysis</title>'''
print '''<body>'''
print getDescription()
print '''</body></html>'''



#May 17 - Writing the analysisV2.html file and starting the code
#May 19 - Tables, and the like
#May 20 - Writing if statements for drop-down menu, building the page.
#May 21 - Working on text fields and getState

基本的に、私のページは、ドロップダウン メニューから選択できるように機能します (これらの値のいずれかを選択すると、たとえば、「High SAT Scores」および「Race Demographics」などの値を選択すると、私の python コードが表または説明を含むページを生成します。ドロップダウン メニュー オプション)、またはテキスト フィールド (CSV ファイルで州を検索し、その特定の州に関するデータを含むテーブル行を返します)。cgi.FieldStorage() の使用 Python は、HTML フォームから送信された値を収集します。ただし、HTML フォームを介してテキスト フィールドからのみ値を送信するようにコードを記述するにはどうすればよいでしょうか。

つまり、ドロップダウン メニューを使用せず、テキスト フィールドのみを使用して特定の状態を検索し、ドロップダウン メニューからフォーム データを送信したくない場合、どうすればよいですか?

4

1 に答える 1