繁体   English   中英

从 html 页面获取数据到 function 以将数据加载到数据库中的问题

[英]problems with obtaining data from an html page to a function for loading data into the database

我想获得填充表格的值,并且在输入的情况下,还有手动输入的值。

@app.route ('/checkResult', methods = ['POST', 'GET'])
def control Outcomes ():
"" "Function to render the page of the results insertion" ""
    language = request.args.get ("language")
    level = request.args.get ("level")
    session = request.args.get ("session")
    info = request.args.get ("info") or None
    written = request.args.get ("written") or None
    oral = request.args.get ("oral") or None
    if language is None or level is None or session is None:
        sessions = app.model.getSessions ()
        return render_template ('loadingElements.html', login = loginStr (), sessions = sessions, warning = 'Select valid language, level and / or session', category = app.category)
    else:
        resultList= app.model.getResults (language, level, session)
        app.sessionID = session
        return render_template ('editResults.html', login = loginStr (), resultList= resultList, session = app.sessionID, category = app.category)

这是初始化页面的 function 并且它可以工作:它正确地填充了表格。 随后,在查看表格后,如果结果不存在,则会出现一个文本字符串,允许您输入一个数字。 但是,一旦我单击“注册”,我就无法获取表格行中的所有值。

<table class = "table table-striped">
    <thead>
        <tr>
            <th class = "right"> # </th>
            <th align = "center"> IdGia </th>
            <th align = "center"> Serial number </th>
            <th align = "center"> Name </th>
            <th align = "center"> Surname </th>
            <th align = "center"> Session Id </th>
            <th align = "center"> Language </th>
            <th align = "center"> Level </th>
            <th align = "center"> Computerized Result </th>
            <th align = "center"> Written Result </th>
            <th align = "center"> Oral Result </th>
            <th align = "center"> Confirm insertion </th>
        </tr>
    </thead>
<tbody>

    {% - for attribute in listEsiti%}
        <tr>
            <td class = "right"> {{ns.num}} {% set ns.num = ns.num + 1%} </td>
            <td align = "center"> {{attribute [0]}} </td>
            {% if attribute [1] == None%}
                <td align = "center"> </td>
            {% else%}
                <td align = "center"> {{attribute [1]}} </td>
            {% endif%}
                <td align = "center"> {{attribute [2]}} </td>
            <td align = "center"> {{attribute [3]}} </td>
            <td align = "center"> {{session}} </td>
            <td align = "center"> {{attribute [4]}} </td>
            <td align = "center"> {{attribute [5]}} </td>
            {% if attribute [6] is none%}
                <td align = "center"> <input type = "int" placeholder = "100" id = "info" name = "info"> </td> <br/> <br/>
            {% else%}
                <td align = "center"> {{attribute [6]}} </td>
            {% endif%}
            {% if attribute [7] is none%}
                <td align = "center"> <input type = "int" placeholder = "100" id = "written" name = "written"> </td> <br/> <br/>
            {% else%}
                <td align = "center"> {{attribute [7]}} </td>
            {% endif%}
            {% if attribute [8] is none%}
                <td align = "center"> <input type = "int" placeholder = "100" id = "oral" name = "oral"> </td> <br/> <br/>
            {% else%}
                <td align = "center"> {{attribute [8]}} </td>
            {% endif%}
            <!-- <td align = "center"> <input class = "btn" type = "submit" value = "Record register"> </td> <br/> <br/> <-->
            <td align = "center"> <a href = "{{url_for ('InsertResult', idGia = attribute [0], language = attribute [4], level = attribute [5], info = attribute [6], written = written, oral = oral, session = session)}} "type =" submit "class =" btn btn-primary "> Register </td>
        </tr>
    {% endfor%}
    </tbody>
</table>

上面的表格是导致我出现问题的表格,而下面我报告了 function 应该记录结果但不起作用的表格

    @ app.route ('/ insertResult', methods = ['POST', 'GET'])
def insert Results ():
    idGia = request.args.get ('idGia')
    language = request.args.get ("language")
    level = request.args.get ("level")
    info = request.args.get ("info") or None
    written = request.args.get ("written") or None
    oral = request.args.get ("oral") or None
    idPeriodoDid = request.args.get ("session") or None
    studentID = request.args.get (idGia)
    idPeriodoDid = sessionapp  #global
    msg = ''
    
    if not (written is None):
        percentage = written
        msg + = app.model.insertNewResult (language, level, written, written, percentage, studentID, idPeriodoDid, 1)
        
    if not (oral is None):
        percentage = oral
        msg + = app.model.insertNewResult (language, level, oral, oral, percentage, studentID, idPeriodoDid, 2)
        
    if not (info is None):
        percentage = info
        msg = app.model.insertNewResult (language, level, info, info, percentage, studentID, idPeriodoDid, 0)
        
    resultList= app.model.getEsitiInformatizzatoPerInsinsertion (language, level, idPeriodoDid)
    return render_template ('loadingReults2.html', login = loginStr (), resultList= listEsits, category = app.categoria, alert = msg)

手动输入结果并按“注册”后,我会期待类似于

  • idGia = 1234
  • 语言 = 英语
  • 级别 = B2
  • 信息 = 70
  • 书面 = 60
  • 口语 = 90
  • idPeriodoDid = 1
  • 学生 ID = 1

当我得到

  • idGia = 1234
  • 语言 = 英语
  • 级别 = B2
  • 信息 =
  • 书面=
  • 口头=
  • idPeriodoDid = 1
  • 学生 ID = 1

首先,输入类型属性值[int]不是一个东西,而是使用数字,或者日期等...

其次,你甚至没有关闭你的输入标签,像这样关闭它们


<input attributes />

这些是一些重要的标签,未关闭的标签可能会干扰其他标签,导致属性无法按预期工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM