首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从应用程序收到的Flask不完整响应

从应用程序收到的Flask不完整响应
EN

Stack Overflow用户
提问于 2021-01-04 06:07:11
回答 1查看 249关注 0票数 0

我正在学习flask,我已经构建了我的第一个应用程序--为了更进一步,我决定托管它。

虽然这个应用程序在我的PC上运行得很好-但它在服务器上崩溃了,但只传递了一些特定的参数(它适用于大多数表单输入):

例如,对于大多数发布的值,应用程序返回适当的数据帧,但对于一些(我尝试了50和2,将代码从应用程序返回不完整的响应)

下面是两个相关的app.routes:

代码语言:javascript
复制
@app.route("/searchcharacter", methods=["POST", "GET"])
def charactersearch():
    if request.method == "POST":
        character_name = request.form["nm"]
        character_name = character_name.replace("%20", " ")
        print(character_name) 
        return redirect(url_for("character_found", character=character_name))
    else:    
        return render_template("searchcharacter.html")


@app.route("/<character>/")
def character_found(character):
    character = character.replace("%20", " ")
    print("Character right before query: " + character)
    df_character = pd.read_sql("""SELECT * FROM auction_history where character_name = %(character)s"""
                               , con=db_connection,params={'character': character})     
    df = df_character[['character_name','auction_start','auction_end','win_lose','minimum_bid','winning_bid','level','vocation',
                       'sex','server','axe_fighting','sword_fighting','club_fighting','dist_fighting','fishing', 'magic_level','shielding']]
    df.columns = ['Name', 'Auction Start', 'Auction End', 'Auction Successful?', 'Min Bid', 'Winning Bid', 'Level', 'Vocation', 'Sex', 
                  'Server', 'Axe', 'Sword', 'Club', 'Distance', 'Fishing', 'Magic Level', 'Shielding']
    
    df['Auction Successful?'] = df['Auction Successful?'].replace([1],'Yes')
    df['Auction Successful?'] = df['Auction Successful?'].replace([0],'No')
    print(df_character)
    if df_character.empty:
        return render_template("characternotfound.html", character=character)
    else:
        return render_template("characterfound.html", character=character,   tables=[df.to_html(classes='data')], titles=df.columns.values)

我已经看过了所有我能想到的东西...但我不明白为什么它对某些输入有效,而对其他输入无效。输入不起作用的例子: Chamstwa nie zniese,Bourk The sioless

有效的例子: Mac Nekro,Japatrocinador Roleta,Tirinha Malfada

如果对此有帮助,webiste已经托管并运行于:http://tanalyst.pl/searchcharacter

我真的很感谢任何人的帮助。这让我头疼:)我试着查看日志,结果发现对于不工作的输入,flask没有正确重定向?

我还能看什么?看起来不工作的get请求给出了502个html响应

提前谢谢你,

EN

回答 1

Stack Overflow用户

发布于 2021-01-05 04:31:46

这可能是服务器中的一些奇怪的重写规则,因为与此无关的urls被匹配并给出相同的错误。例如http://tanalyst.pl/a/%20n/a/

实际上,任何包含“a-z%任意两个数字”或“%任意两个数字n”或“%任意两个数字n”的路径都会失败。

可能是flask中的其他@app.route("url-selector")函数干扰了

/<character>/可能太过笼统,可能会一网打尽。也许你应该把它改成/results/<character>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65555426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档