2017-02-24 20 views
0

我正在通過Miguel Ginberg's Flask Mega-Tutorial。我的工作,該文件沒有正確地縮進是微博/應用/ views.py,它看起來像這樣:Vim沒有正確縮進Python - Flask應用程序,Trisquel Mini GNU/Linux,lxterminal

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這個文件,我的壓痕得到弄糟。括號和curlies用於我的示例數據初始化語句,render_template參數,@ app.route('/ login',...)和@ 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 

任何幫助,非常感謝。謝謝!

+0

未來,請將'vim' Qs發佈到http://vi.stackexchange.com。很高興你找到了解決方案。 – shellter

+2

@shellter vim的問題不是脫口而談。 –

回答