Я изучаю Flask, следуя Flask Web Development , когда я получаю Глава 5, использую Flask-Migrate, я обнаружил, что моя оболочка (git bash) вообще не читает аргументы.
Когда я ввожу
python index.py db init
Это работает так же, как я не написал аргумент. Какой бы аргумент я ни вводил, оболочка не может его прочитать и просто запускает сервер.
Может кто-нибудь сказать мне, что происходит?
Вот мой index.py, но на самом деле, когда я запускаю примеры кода, оболочка тоже не читает аргументы.
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)
![enter image description here](https://i.stack.imgur.com/M0cmW.png)