在mac上使用Python3.7.6和vscode的flask存在问题

2024-09-30 01:30:45 发布

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

我想运行的一些代码有一个奇怪的问题。代码本身不应该是问题,因为它是从Udemy类下载的,没有修改:

# coding=utf-8
from flask import Flask, render_template, request
app = Flask(__name__)

@app.route("/")
def hello():
    items = ["Apfel", "Birne", "Banane"]

    return render_template("start.html", name="Max Mustermann", items=items)

@app.route("/test")
def test():
    name = request.args.get("name")
    return render_template("test.html", name=name)

我在网上发现,要启动模拟Web服务器(?),我必须先运行以下temrinal命令,然后才能看到输出:

(base) Christophs-MBP:13-23 chris$ export FLASK_APP=run.py run flask
(base) Christophs-MBP:13-23 chris$ export FLASK_APP=run.py run flask
(base) Christophs-MBP:13-23 chris$ export FLASK_APP=run.py
(base) Christophs-MBP:13-23 chris$ run flask
bash: run: command not found
No reaction to my terminal commands

基本上,对启动服务器的命令没有任何反应(?),只要我运行了一次命令,它就会回复“Running on 127.0.0.1:5000”

如果我转到我的浏览器,当我寻址http://127.0.0.1:5000时没有页面。我做错了什么?我是Python的新手,对于终端来说是一个绝对的新手。我不确定我是否破坏了一些东西,因为按照朋友的建议尝试安装pyenv以更好地管理我的Python安装也不起作用(我无法更新RealPython上描述的SDK头)


Tags: runnametest命令appflaskbaseitems
1条回答
网友
1楼 · 发布于 2024-09-30 01:30:45

导出语句是什么?

在Mac上,export key=value创建一个新的(或更新一个现有的)环境变量——本教程很可能只是要求您提供一个keyFLASK_APP且值为应用程序路径的环境变量

要验证是否已正确保存,只需在终端中键入export并找出系统上每个环境变量的内部内容即可列出变量(如果只想查看FLASK_APP,可以键入export | grep FLASK_APP

为什么需要FLASK\u应用程序?

在终端中调用flask run时,您将看到以下消息:

Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py"
module was not found in the current directory.

我假定您的文件名为run.py,因此不满足任何条件。您可以将run.py重命名为app.py,只需在终端中键入flask run,但也可以键入export FLASK_APP=<path-to-run.py>。似乎教程作者决定做后者。请记住,如果将文件重命名为app.py,则需要在该文件所在的目录中运行flask run。您可以使用cd命令更改终端中的目录

你为什么得到bash: run: command not found

bash是一种在终端内部运行的语言,它只知道一些命令-它不知道任何run命令。但是,一旦您在计算机上安装了flask命令,它就知道该命令。在命令的输出中有一部分包含run命令:

Commands:
  routes  Show the routes for the app.
  run     Run a development server.
  shell   Run a shell in the app context.

因此,您要做的是在终端中键入flask run,而不是只键入run

相关问题 更多 >

    热门问题