我要通过Miguel Ginberg's Flask Mega-Tutorial。我正在处理的没有正确缩进的文件是microblog/app/views.py,它看起来像这样:
from flask import render_template, flash, redirect, session, url_for, request, g
from flask_login import login_user, logout_user, current_user, login_required
from app import app, db, lm, oid
from .forms import LoginForm
from .models import User
@app.route('/')
@app.route('/index')
def index():
user = {'nickname': 'Phaed'}
posts = [
{
'author': {'nickname': 'John'},
'body': 'Beautiful day in Portland!'
},
{
'author': {'nickname': 'Susan'},
'body': 'The Avengers movie was so cool!'
}
]
return render_template('index.html',
title='Home',
user=user,
posts=posts)
@app.route('/login', methods=['GET', 'POST'])
@oid.loginhandler
def login():
if g.user is not None and g.user.is_authenticated:
return redirect(url_for('index'))
form = LoginForm()
if form.validate_on_submit():
session['remember_me'] = form.remember_me.data
return oid.try_login(form.openid.data, ask_for=['nickname', 'email'])
return render_template('login.html',
title='Sign In',
form=form,
providers=app.config['OPENID_PROVIDERS'])
@lm.user_loader
def load_user(id):
return User.query.get(int(id))当我在这个文件上执行gg=G时,我的缩进变得混乱。我的示例数据初始化语句的括号和花括号、登录参数、登录(‘/@app.route’,...)和@lm.user_loader;它们都弄乱了:
from flask import render_template, flash, redirect, session, url_for, request, g
from flask_login import login_user, logout_user, current_user, login_required
from app import app, db, lm, oid
from .forms import LoginForm
from .models import User
@app.route('/')
@app.route('/index')
def index():
user = {'nickname': 'Phaed'}
posts = [
{
'author': {'nickname': 'John'},
'body': 'Beautiful day in Portland!'
},
{
'author': {'nickname': 'Susan'},
'body': 'The Avengers movie was so cool!'
}
]
return render_template('index.html',
title='Home',
user=user,
posts=posts)
@app.route('/login', methods=['GET', 'POST'])
@oid.loginhandler
def login():
if g.user is not None and g.user.is_authenticated:
return redirect(url_for('index'))
form = LoginForm()
if form.validate_on_submit():
session['remember_me'] = form.remember_me.data
return oid.try_login(form.openid.data, ask_for=['nickname', 'email'])
return render_template('login.html',
title='Sign In',
form=form,
providers=app.config['OPENID_PROVIDERS'])
@lm.user_loader
def load_user(id):
return User.query.get(int(id))为什么会这样呢?我想这一定是.vimrc设置的问题,但经过几个小时的阅读和调整,我还是在这里发帖了。我的.vimrc中的缩进规则:
set autoindent
set smartindent
filetype plugin indent on
set tabstop=4
set softtabstop=4
set expandtab
set shiftwidth=4任何帮助都是非常感谢的。谢谢!
发布于 2017-02-25 02:30:05
不要紧!我仍然很好奇如何在不使用包管理器的情况下解决这个问题,但是我开始使用Vundle来尝试这个PEP8缩进包,然后-瞧-。
https://github.com/Vimjas/vim-python-pep8-indent
干杯!
https://stackoverflow.com/questions/42445668
复制相似问题