为什么';我的bash在使用Python时没有读到参数吗?
我在学习Flask Web开发之后的Flask,当我读到第5章时,使用Flask迁移,我发现我的shell(git bash)根本不读取参数 当我输入为什么';我的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
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部分: