Python脚本与纯Python一样工作,但不能与Flas一起工作

2024-04-25 21:11:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一些代码,从画布中提取课程信息。作为纯python,它工作得很好。如果我试着把它和烧瓶结合起来,我会得到以下错误

requests.exceptions.MissingSchema: Invalid URL 'run/api/v1/courses/1234567': No schema supplied. Perhaps you meant http://run/api/v1/courses/1234567?

这是问题代码:

画布文件

import sys
from canvasapi import Canvas

def getinfo():
    canvasurl = "https://canvas.instructure.com/";
    canvastoken = #Redacted for this example

try:
    canvastoken = sys.argv[1];
    canvasurl = sys.argv[2];
except:
   print()


#Create a new canvas object passing in the newly aquired url and token
canvas = Canvas(canvasurl, canvastoken);

#print(canv)

# Create a new course oject -- passing in course number as a parameter
# Course number is currently hard coded

print(canvas.get_course(1234567))

Flask文件代码(我尝试运行的文件):

from flask import Flask
import canvas

canvas.getinfo()

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run()

Tags: 文件run代码importapiappflask画布
1条回答
网友
1楼 · 发布于 2024-04-25 21:11:03

没有提供架构通常意味着您没有在URL中指定http://https://

在您提供的代码中,我没有看到任何对run/api/v1/courses/1234567的引用。一种可能性是,如果在代码的任何地方使用requestsurl_for方法,请尝试设置_external=True

url = url_for('relativeURL', _external=True)

这允许Flask构造一个绝对URL(即包含域的URL)

如果您没有使用url_for,请检查代码中可能从URL中省略http或https的其他位置

如果您更新您的问题,包括部分,指的是有问题的网址,我们可能能够提供更具体的帮助

相关问题 更多 >