flask初学者问题。

from flask import Flask, request, render_template

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def home():
    return render_template("home.html")

@app.route('/signin', methods=['GET'])
def signin_form():
    return render_template('form.html')

@app.route('/signin', methods=['POST'])
def signin():
    username = request.form['username']
    password = request.form['password']
    if username == 'admin' and password == 'password':
        return render_template("sign-ok.html", username = username)
    render_template('form.html', message = 'bad username or password', username = username)

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

想问下,最后的__name__是哪里的啊?为什么要等于'__main__'

阅读 2.6k
2 个回答

这个是python方便调试的特性。
只有直接运行该程序的时候,才会 name == '__main__'

而import这个文件的时候,__name__ 就不等于 '__main__',也就不会运行if里面的内容

利用这个特性,我们在写完一个模块后可以将模块调试代码写在if里面,方便下次调试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题