Настой-бутстрап настройки Настой-охрана

Я использую Flask-security, и мне не удалось интегрировать Flask-bootstrap, чтобы настроить пользовательский интерфейс для входа, регистрации и других страниц.

Проект размещен здесь: https://github.com/fbenavides69/control-escolar

Я установил через pip пакеты и могу отобразить логин, зарегистрироваться и другие страницы, но по какой-то причине я не могу заставить их отображать загрузчик пользователя. Я следовал рекомендациям на c/p страницах безопасности в каталоге шаблонов в приложении, чтобы переопределить внешний вид, но пока не имел никакого успеха.

Может кто-нибудь указать мне, что я пропускаю?

Вот код для login_user.html:

{% extends "layout.html" %}

{% block body %}
    {{super()}}

    {% include "navbar.html" %}

    {% block content %}
        {{super()}}

        {% from "security/_macros.html" import render_field_with_errors, render_field %}
        {% from "security/_form_macros.html" import render_field %}
        <div class="container">
        {% include "security/_messages.html" %}
        <h1>{{ _('Login') }}</h1>
        <form action="{{ url_for_security('login') }}" method="POST" name="login_user_form">
          {{ login_user_form.hidden_tag() }}
          {{ render_field_with_errors(login_user_form.email) }}
          {{ render_field_with_errors(login_user_form.password) }}
          {{ render_field_with_errors(login_user_form.remember) }}
          {{ render_field(login_user_form.next) }}
          {{ render_field(login_user_form.submit) }}
        </form>
        {% include "security/_menu.html" %}
        </div>

    {% endblock content %}

{% endblock body %}

Вот это layout.html:

{% extends "bootstrap/base.html" %}

{% block html_attribs %} 
    lang="sp" 
{% endblock %}
{% block metas %}
    <meta charset="utf-8">
{% endblock %}

Вот структура файла, в которой хранятся шаблоны:

application
+-site
  +-templates
    +-security
      +- login_user.html
      +- register_user.html

Вот код для файла инициализации:

''' Flask Application Factory

    Blueprint Flask application using the factory pattern,
    with configuration setup and blueprint module registration
'''
from flask import Flask
from flask_bootstrap import Bootstrap
from flask_security import Security
from flask_security import SQLAlchemyUserDatastore
from flask_debugtoolbar import DebugToolbarExtension
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
from .models import db
from .models import User
from .models import Role
from .admin import admin


def create_app():
    ''' create_app

        input:
            None

        output:
            app -- flask web application instance

        Read configuration values in the following order:
            1) default, values which can be overwritten later
            2) intance, for your eyes only not stored in repo values
            3) environment, selectable values from:
                - development
                - stagging
                - production

        Setup web interface with Bootstrap framework
    '''

    # Initialize app
    app = Flask(__name__, instance_relative_config=True)

    # Load default config values
    app.config.from_object('config.default')
    # Load instance config values not stored in repo
    app.config.from_pyfile('config.py')
    # Load environment config values
    app.config.from_envvar('APP_CONFIG_FILE')

    # Create database connection
    db.init_app(app)

    # Instantiate Admin section
    admin.init_app(app)

    # Initialize bootstrap
    Bootstrap(app)

    # Setup Flask-Security
    security = Security(app, SQLAlchemyUserDatastore(db, User, Role))

    # Debug = True to enable the toolbar
    toolbar = DebugToolbarExtension(app)

    # Load blueprint modules
    from application.site.routes import mod as site
    from application.api.routes import mod as api

    # Register blueprint modules for use
    app.register_blueprint(site)
    app.register_blueprint(api, url_prefix='/api')

    return app

1 ответ

Оказывается, каталог 'templates' должен был быть размещен непосредственно в папке 'application', чтобы это работало:

application
  +-site
  +-templates
    +-security
Другие вопросы по тегам