我创建了一个使用flask的网站,它接收一个字符串,根据字符串创建一个url,解析url然后将其反馈回网站。我创建了一个功能,它完美地工作。但是当我在我的烧瓶程序中实现它时,它开始抛出一个运行时错误,指出:
服务器上发生应用程序错误。此应用程序的当前自定义错误设置可防止远程查看应用程序错误的详细信息(出于安全原因)。但是,它可以由运行在本地服务器计算机上的浏览器查看。 详细信息:要在远程计算机上查看此特定错误消息的详细信息,请在位于当前Web应用程序根目录中的“web.config”配置文件中创建customErrors标记。然后,此customErrors标记应将其“mode”属性设置为“Off”。
我不熟悉创建web.config或如何在我的烧瓶程序中实现它。任何帮助,将不胜感激。
代码:
在自己运行时起作用的功能:
def parse_wotc():
set_list = []
# Manually enter in value for test
card_url = 'http://gatherer.wizards.com/Pages/Card/Details.aspx?name=' +
'mountain' # (replace mountain) card_name.replace(' ', '+')
soup = BeautifulSoup(requests.get(card_url).text, 'html.parser')
for image in soup.find_all('img'):
if image.get('title') is not None:
set_list.append(image.get('title'))
print(set_list)
return set_list
webapp代码:
@app.route('/', methods=['GET', 'POST'])
def index():
card_name = None
card_url = '/static/images/card_back.jpg'
if request.form.get('random_button'):
card_url, card_name = random_card_image(list_card_names)
# When function ran here it give the error
parse_wotc(card_name)
def random_card_image(list_card_names):
"""This function will pull a random card name from the provided list and
return to main program"""
card_name = random.choice(list_card_names)
card_url = 'http://gatherer.wizards.com/Handlers/Image.ashx?name=' +
card_name.replace(' ', '+').lower() + \
'&type=card'
return card_url, card_name
答案 0 :(得分:0)
确定问题的时间花了几个小时,但它现在正在运作。问题是我创建了一个文本文件,其中包含我从中创建随机选择的卡名称列表 - 但文本文件在每个条目上都包含尾随\ n。因此,它正在创建一个带有\ n的url,当时这个url不明显并导致错误。我在创建名称列表时使用了rsplit()来删除尾随\ n,现在它完美地运行了。