python - 如何修复 IndentationError
问题描述
flask
几天前我从电子书烧瓶框架食谱开始学习。我对以下错误感到困惑。
File "run.py", line 1, in <module>
from my_app import app
File "/home/kenosis/flask_app/my_app/__init__.py", line 2, in <module>
from my_app.product.views import product_blueprint
File "/home/kenosis/flask_app/my_app/product/views.py", line 10
def home():
^
IndentationError: unexpected indent
这是我的views.py
from werkzeug import abort
from flask import render_template
from flask import Blueprint
from my_app.product.models import PRODUCTS
product_blueprint = Blueprint('product', __name__)
@product_blueprint.route('/')
@product_blueprint.route('/home')
def home():
return render_template('home.html', products=PRODUCTS)
@product_blueprint.route('/product/<key>')
def product(key):
product = PRODUCTS.get(key)
if not product:
abort(404)
return render_template('product.html', product=PRODUCTS)
然后这是我的初始化
from flask import Flask
from my_app.product.views import product_blueprint
app = Flask(__name__)
app.register_blueprint(product_blueprint)
product_blueprint = Blueprint('main', __name__, template_folder='templates')
我究竟做错了什么?
解决方案
缩进在 Python 中非常重要。装饰器后不要缩进
from flask import render_template, abort
from flask import Blueprint
from my_app.product.models import PRODUCTS
product_blueprint = Blueprint('product', __name__)
@product_blueprint.route('/')
@product_blueprint.route('/home')
def home():
return render_template('home.html', products=PRODUCTS)
@product_blueprint.route('/product/<key>')
def product(key):
product = PRODUCTS.get(key)
if not product:
abort(404)
return render_template('product.html', product=PRODUCTS)
推荐阅读
- android - 在 Android 中使用应用内更新时如何解决安装状态码 -100?
- c++ - 根据比例更改 QProgressbar 块的颜色
- html - JSP 页面不渲染图像,但状态为 200
- swift - swift中的运算符或方法,用作python的海象运算符
- sql - 如何在 phpmyadmin 中导入这个 github repo 的 sql 文件
- java - Onhandleintent 昨天工作,现在没有
- content-management-system - Magento 2.3.3:如何在 CMS 页面中获取 form_key
- r - 删除包含零的单元格但保留该行
- apache-spark - 如何以逗号分隔的形式显示火花流作业的数据帧输出?
- javascript - 如何在 TypeScript 中将 PFX 证书转换为 PEM 证书(通过使用 openssl 或任何其他包)?