为什么';我的bash在使用Python时没有读到参数吗?

为什么';我的bash在使用Python时没有读到参数吗?,python,flask,Python,Flask,我在学习Flask Web开发之后的Flask,当我读到第5章时,使用Flask迁移,我发现我的shell(git bash)根本不读取参数 当我输入 python index.py db init 它的作用就像我没有写论点一样。无论我输入什么参数,shell都无法读取它,只能运行服务器 谁能告诉我发生了什么事 这是我的index.py,但实际上,当我运行示例代码时,shell也不会读取参数 from flask import Flask,render_template,session,red

我在学习Flask Web开发之后的Flask,当我读到第5章时,使用Flask迁移,我发现我的shell(git bash)根本不读取参数

当我输入

python index.py db init
它的作用就像我没有写论点一样。无论我输入什么参数,shell都无法读取它,只能运行服务器

谁能告诉我发生了什么事

这是我的index.py,但实际上,当我运行示例代码时,shell也不会读取参数

from flask import Flask,render_template,session,redirect,url_for,flash
from flask_bootstrap import Bootstrap
from flask_sqlalchemy import SQLAlchemy
from flask_wtf import FlaskForm
from flask_migrate import Migrate
from wtforms import StringField,SubmitField
from wtforms.validators import DataRequired
import os


class Nameform(FlaskForm):
    name = StringField('What is s your name',validators = [DataRequired()])
    submit = SubmitField('Submit')


basedir = os.path.abspath(os.path.dirname(__file__))

app = Flask(__name__)
app.config['SECRET_KEY'] = 'tell me why'
app.config['SQLALCHEMY_DATABASE_URI'] ='sqlite:///'+os.path.join(basedir,'data.sqlite')
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
bootstrap = Bootstrap(app)



#database


db = SQLAlchemy(app)


class Role(db.Model):
    __tablename__ = 'roles'
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String(64),unique = True)
    users = db.relationship('User',backref = 'role')
    def __repr__(self):
        return '<Role %r>' % self.name
class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer,primary_key = True)
    username = db.Column(db.String(64),unique = True, index = True)
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
    def __repr__(self):
        return '<User %r>' % self.username

#migrate
migrate = Migrate(app,db)



@app.route('/user/<name>')
def user(name):
    return render_template('user.html',name=name)
@app.route('/',methods = ['GET','POST'])
def index():
    name = None
    form = Nameform()
    if form.validate_on_submit():
        user = User.query.filter_by(username = form.name.data).first()
        if user is None:#if no data,add user
            user = User(username = form.name.data)
            db.session.add(user)
            session['known'] = False
        else:
            session['known'] = True
        session['name'] = form.name.data
        return redirect(url_for('index'))
    flash('Hello Everyone')
    return render_template('index.html',form = form , name = session.get('name'),known = session.get('known',False))
#error
@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html')
@app.errorhandler(500)
def internal_server_error(e):
    return render_template('500.html')
@app.shell_context_processor
def make_shell_context():
    return(dict(db = db,User = User,Role = Role))
#run
if __name__=='__main__':
    app.run(debug=True)
从flask导入flask,呈现模板,会话,重定向,url,flash
从flask_引导导入引导
从flask_sqlalchemy导入sqlalchemy
来自flask_wtf进口FlaskForm
从flask\u迁移导入迁移
从wtforms导入StringField、SubmitField
需要从wtforms.validators导入数据
导入操作系统
类别名称表格(烧瓶表格):
name=StringField('您叫什么名字',验证器=[DataRequired()])
submit=SubmitField('submit')
basedir=os.path.abspath(os.path.dirname(_文件__))
app=烧瓶(名称)
app.config['SECRET_KEY']=“告诉我原因”
app.config['SQLALCHEMY\u DATABASE\u URI']='sqlite://'+os.path.join(basedir,'data.sqlite')
app.config['SQLALCHEMY\u COMMIT\u ON\u TEARDOWN']=True
app.config['SQLALCHEMY\u TRACK\u MODIFICATIONS']=True
引导=引导(应用程序)
#数据库
db=SQLAlchemy(应用程序)
类角色(db.Model):
__tablename_uu='角色'
id=db.Column(db.Integer,主键=True)
name=db.Column(db.String(64),unique=True)
users=db.relationship('User',backref='role')
定义报告(自我):
返回“%self.name”
类用户(db.Model):
__tablename_uu='users'
id=db.Column(db.Integer,主键=True)
username=db.Column(db.String(64),unique=True,index=True)
role\u id=db.Column(db.Integer,db.ForeignKey('roles.id'))
定义报告(自我):
返回“%self.username”
#迁移
迁移=迁移(应用程序,数据库)
@app.route(“/user/”)
def用户(名称):
返回呈现模板('user.html',name=name)
@app.route('/',方法=['GET','POST'])
def index():
name=None
form=Nameform()
if form.validate_on_submit():
user=user.query.filter\u by(username=form.name.data).first()
如果用户为无:#如果没有数据,则添加用户
user=user(username=form.name.data)
db.session.add(用户)
会话['known']=False
其他:
会话['known']=True
会话['name']=form.name.data
返回重定向(url_for('index'))
flash(“大家好”)
返回render_模板('index.html',form=form,name=session.get('name'),known=session.get('known',False))
#错误
@app.errorhandler(404)
未找到def页面(e):
返回render_模板('404.html')
@app.errorhandler(500)
def内部_服务器_错误(e):
返回渲染模板('500.html')
@app.shell\u上下文\u处理器
def make_shell_context():
返回(dict(db=db,User=User,Role=Role))
#跑
如果“名称”=“\uuuuuuuu主要”:
app.run(debug=True)

我认为最好显示您的index.py:)谢谢您的建议如果您想使用此类命令调用,您将缺少manager部分: