目前,我有一个基于flask-restful的API项目,带有使用OpenAPI(Swagger)创建的文档页面。我正在尝试创建一个登录页面,基于我的结构jinja2找不到模板的路径。
在登录脚本中,我尝试在render_template()
函数中将完整路径传递给.html文件,但没有找到该文件。就像在template_folder = path/to/file
中添加参数app=Flask(__name__)
一样,我没有成功。
我的结构:
├── app
│ ├── __init__.py
│ ├── auth
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── login.py
│ ├── common
│ │ ├── __init__.py
│ │ ├── jwt.py
│ │ ├── request.py
│ │ └── utils.py
│ ├── models
│ │ ├── __init__.py
│ │ ├── core.py
│ │ └── db_app_2.py
│ ├── routes
│ │ ├── __init__.py
│ │ ├── resources.py
│ └── templates
│ ├── docs
│ │ ├── swagger.json
│ │ └── swagger.yaml
│ └── pages
│ ├── base.html
│ ├── login.html
│ └── signup.html
├── app.db
├── config.py
├── main.py
├── migrations
├── requeriments
└── tests
login.py
# -*- coding: utf-8 -*-
from flask import Blueprint, render_template, redirect, url_for
from app.models.core import db
auth = Blueprint('auth', __name__)
@auth.route('/login')
def login():
return render_template('login.html')
@auth.route('/signup')
def signup():
return render_template('signup.html')
__ init __。py(主项目)
from flask import Blueprint, Flask
from flask_login import LoginManager
from flask_migrate import Migrate
from flask_restful import Api
from config import config
from .models.core import db
from .routes.resources import TwoThings
def create_app(config_name):
app = Flask(__name__, template_folder="/templates/pages")
app.config.from_object(config[config_name])
'''Fixed path for routes the api'''
path_prefix = '/api/v1'
api_bp = Blueprint(path_prefix, __name__)
api = Api(api_bp)
from app.auth.login import auth as auth_blueprint
app.register_blueprint(auth_blueprint, url_prefix=path_prefix)
api.add_resource(Reset, f'{path_prefix}/two_things')
app.register_blueprint(api_bp)
db.init_app(app)
Migrate(app, db)
return app
我需要创建一个登录页面,以供浏览器访问,并在登录后重定向到文档端点。
答案 0 :(得分:0)
尝试:
return render_template('pages/login.html')
在您的login.py