LINUX.ORG.RU

Flask Blueprints

 , ,


0

3

Ваяю тут один сервис на питоне, столкнулся с тем что фласк в упор не видит шаблоны из папки блюпринта.

Структура проекта:

src/
    templates/
    plugins/
        __init__.py
        test/
            __init__.py
            templates/
                index.html

В ините plugins определен простой базовый класс, от которого наследуюсь:

from flask import Blueprint

class BasePlugin(Blueprint):
	def __init__(self, name):
		self.name = '.'.join(name.split('.')[-2:])
		super(BasePlugin, self).__init__(
		                                 	self.name, 
		                                 	name, 
		                                 	template_folder='templates'
		                                )

В ините test наследуюсь:

from src.plugins import BasePlugin
from flask import render_template

class TestPlugin(BasePlugin):
	def __init__(self):
		super(TestPlugin, self).__init__(__name__)

	def index(self): 
		return render_template('index.html')
		#return self.open_resource('templates/index.html').read().decode('utf-8') # вот так работает

Собственно, фласк ломится искать index.html в src/templates/, его там не находит, и падает с ошибкой, а в src/plugins/test/templates даже и не смотрит, хотя должен.


с flask не работал, но судя по доке, блупринт надо регистрировать (register_blueprint()). не забыл зарегистрировать свой плагин?

Sectoid ★★★★★
()
29 июля 2017 г.

Посмотри тут он как раз использует blueprint в цикле статей

Genious
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.