首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vim没有正确缩进Python -- Flask应用程序,Trisquel Mini GNU/Linux,lxterminal

Vim没有正确缩进Python -- Flask应用程序,Trisquel Mini GNU/Linux,lxterminal
EN

Stack Overflow用户
提问于 2017-02-25 02:19:32
回答 1查看 205关注 0票数 0

我要通过Miguel Ginberg's Flask Mega-Tutorial。我正在处理的没有正确缩进的文件是microblog/app/views.py,它看起来像这样:

代码语言:javascript
复制
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;它们都弄乱了:

代码语言:javascript
复制
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中的缩进规则:

代码语言:javascript
复制
set autoindent
set smartindent
filetype plugin indent on
set tabstop=4
set softtabstop=4
set expandtab
set shiftwidth=4

任何帮助都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-02-25 02:30:05

不要紧!我仍然很好奇如何在不使用包管理器的情况下解决这个问题,但是我开始使用Vundle来尝试这个PEP8缩进包,然后-瞧-。

https://github.com/Vimjas/vim-python-pep8-indent

干杯!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42445668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档