在linux下运行flask/python代码?碱性烧瓶cod

2021-03-01 03:10:31 发布

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

我从本教程中学习了flask/python http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

这个博客很不错,解释得很好。在第一个教程中,如果您注意到, 他要求我们创建一个init.py文件,一个视图.py文件和主文件运行.py文件。在

root
/microblog
  /apps
    /__init__.py
    views.py

我创建了这两个文件。他要求我们创造一个运行.py文件并将其放入根文件中。那么

^{pr2}$

它说文件不存在。 如果我

python run.py

它说应用程序模块没有定义。 我无法解决问题,我把运行.py在所有的文件中,它都不起作用。在

我还将包括代码,这样它将更容易回答,而不是去上述链接

初始化.py

from flask import Flask
app = Flask(__name__)
from app import views

在视图.py在

from app import app
@app.route('/')
@app.route('/index')
def index():
  return 'Hello world'

在运行.py在

#!flask/bin/python
from app import app
app.run(debug = True)

我的问题:

  1. 我应该把这个放在哪里运行.py文件?

  2. 为什么要创建不同的文件?为什么不能把他们都放在一起 完整文件?在

    在初始py-->

    • 他正在进口烧瓶,这很正常。然后分配应用程序= (名称)。为什么?那他为什么要从应用程序中导入视图?在

在视图.py-->

  1. 从应用程序导入应用程序?应用程序是现有的模块还是我们的模块 刚刚创造的?@app.route('/')
    @app.route('/index')做什么?在

有人能把代码放在一起解释一下吗?在

1条回答
网友
1楼 ·

It says App module not defined

您拼错了程序包名称:您的目录树中有个应用程序,您试图导入应用程序

Where should I put the run.py file?

任何你想要的地方只要应用程序在PYTHONPATH中。或者你可以把它放在微博目录里。在

he is importing flask which is normal. then assigning app = (name). why is that?

# Create reference to flask WSGI application object
app = Flask(__name__)

为什么?因为你需要应用程序来运行。见正式文件: Flask object

Then why is he importing views from apps?

^{pr2}$

方法:从名为app import module named views的包中

命名约定可能会有所不同,但如果您看不到差异,那么在开始使用更复杂的东西之前,您可能应该花更多时间学习python基础知识。在

from app import app? is app an existing module here or the one we just created? what > does @app.route('/') or @app.route('/index')do?

^{3}$

简短回答:如果应用程序接收到对url“/”的请求,则使用函数foo进行响应 更多信息请参见官方文件:add_url_ruleURL Route Registrations

更新

Why are we creating different files? Why cant all of them be in one full file?

事实上没有什么能阻止你把所有的东西放在一个文件里,但大多数时候这真的是个坏主意。如果您在这个特定的例子中询问推理,那么它主要是关于分离具有不同职责的模块。在

相关问题