nextel
@nextel
ненавижу javascript

Не работает Blueprint add_url_rule во flask?

Здравствуйте,
есть приложение в коре подключается блюпринт

app.register_blueprint(admin, url_prefix='/admin')

сам блюпринт инициализируется в другом файле вот так

admin = Blueprint('admin', __name__,
                        template_folder='admin')


а теперь внимание вопрос
почему для основного приложения app функция add_url_rule рабоатет а для блюпринта нет?

файл с роутами выглядит вот так

from control import app
from maincontroller import main
from admin.acontrol import admin
from admin.controllers.main import AdminMain

# route section
# ======================================

app.add_url_rule('/',view_func=main.as_view("main"))

admin.add_url_rule('/',view_func=AdminMain.as_view("adminrmain"))

то есть по моему должно получится следующее, если мы идем в корень отображается страница / ее выплевывает app.add_url_rule('/',view_func=main.as_view("main")) тут все норм
а если мы идем /admin то ее должен выплевывапть admin.add_url_rule('/',view_func=AdminMain.as_view("adminrmain"))
но ничего не происходит говорит страница не найдена,в консоль ничего кроме 404 ошибки не выкидывает.
  • Вопрос задан
  • 2985 просмотров
Пригласить эксперта
Ответы на вопрос 3
dizballanze
@dizballanze
Software developer at Yandex
Должно работать, может это как-то связанно с class-based views, которые вы используете?
Ответ написан
nextel
@nextel Автор вопроса
ненавижу javascript
вьюхи обсолютно стандарнтые из документации

# -*- coding: utf-8 -*-
from flask import render_template, request, redirect, url_for, session
from flask.views import MethodView



class AdminMain(MethodView):
    def post(self):
        return  render_template('adminindex.html')



    def get(self):
        return  render_template('adminindex.html')
Ответ написан
Комментировать
nextel
@nextel Автор вопроса
ненавижу javascript
причем если создавать отдельный файл с роутами в папке блюпринта, а потом импортить этот файл в тот файл где создается и запускается приложение то все норм, магия блин. получается что если роуты для блюпринта прописаны там же где и для основого приложения он никак не хочет ниче делать а если в отдельный файл запихать и сделать все тоже самое что и с файлом с соновными роутами то он работет....
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы