【问题标题】:ImportError: cannot import name 'templates' from flaskImportError:无法从烧瓶中导入名称“模板”
【发布时间】:2021-02-18 19:02:52
【问题描述】:

目前我正在开发一个网站,一切似乎都很顺利,直到出现此错误:

ImportError Command-Line Prompt Screenshot

# lab6_brian_may.py

"""这是一个简单的网站程序。"""

# imports
from flask import Flask, request, url_for, redirect, render_template, templates

app = Flask(__name__, template_folder='../pages/templates')

# base site app route
@app.route('/')
def base_site():
    return render_template(templates + 'base.html')
 return ok

# RPG site app route
@app.route('/RPG', methods=['GET', 'RETURN'])
def RPG_site():
    if request.method == 'RETURN':
        # redirect to base page
        return redirect(url_for('base_site'))
    return render_template(templates + 'RPG.html')
 return ok

# MMO site app route
@app.route('/MMO', methods=['GET', 'RETURN'])
def MMO_site():
    if request.method == 'RETURN':
        # redirect to base page
        return redirect(url_for('base_site'))
    return render_template(templates + 'MMO.html')
 return ok

# First-Person Shooter site app route
@app.route('/First-Person Shooter', methods=['GET', 'RETURN'])
def first_person_shooter_site():
    if request.method == 'RETURN':
        # redirect to base page
        return redirect(url_for('base_site'))
    return render_template(templates + 'First-Person Shooter.html')
return ok

非常感谢您对此问题的任何帮助。

【问题讨论】:

  • 发布您的错误的屏幕截图会使任何有相同错误的人很难找到此帖子。请改为发布您的错误文本。

标签: python flask importerror


【解决方案1】:

flask 模块中没有 templates 这样的东西,这就是它引发 ImportError 的原因。

当您调用render_template 时,Flask 默认会在templates 文件夹中查找模板。

您是否尝试过简单地将您的 render_template 呼叫从 return render_template(templates + 'MMO.html') 更改为 return render_template('MMO.html')

【讨论】:

  • 我尝试像你说的那样更改 render_template 调用,但是出现了更多错误:
【解决方案2】:

实际上 Flask 中没有像模板这样的预构建类。您只需执行以下操作:

  1. 创建一个名为模板的目录
  2. 在下面添加html文件 模板文件夹。
  3. 对于渲染模板,使用 以下代码: return render_template('template name.html')

【讨论】:

  • 当你说要创建一个名为 templates 的目录时,你的意思是我在我的文件资源管理器中创建了一个名为 templates 的文件夹吗?
  • 没有。在当前工作目录中创建一个子文件夹。例如,您的烧瓶应用程序和其他必要的文件是在 Flask 目录下创建的,在此文件夹中创建一个文件夹并将其命名为模板。您的 html 文件位于此模板文件夹下。
猜你喜欢
  • 2018-09-16
  • 2020-12-06
  • 2018-12-31
  • 1970-01-01
  • 1970-01-01
  • 2022-06-22
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
相关资源
最近更新 更多