蓝图找不到url_prefixed页面的“ static”目录

时间:2018-12-01 14:58:02

标签: python flask blueprint

仔细阅读这里有关同一主题的所有问题,但无法解决我的问题。我以这种方式设置了一个项目(this的修改版本)目录;

enter image description here

我有两个链接可以从主页访问

def _make_unpacker(index):
    return lambda self: operator.itemgetter(index)(
        Rect.Coords.unpack(self._data))

class Rect:
    __slots__ = ("_data",)

    Coords = struct.Struct("llll")

    def __init__(self, x1, y1, x2, y2):
        self._data = Rect.Coords.pack(x1, y1, x2, y2)

    x1 = property(_make_unpacker(0))
    x2 = property(_make_unpacker(1))
    y1 = property(_make_unpacker(2))
    y2 = property(_make_unpacker(3))

管理信息中心页面的前缀为 <a href="{{ url_for('home.admin_dashboard') }}"> Admin Dashboard </a> <a href="{{ url_for('home.dashboard') }}"> Dashboard </a> ,而另一个前缀为/admin/dashboard。我通过提供根/dashboard目录的相对路径来创建home蓝图(在home。 init .py内部);

static

主页和仪表板页面都可以找到静态目录(并正确加载),但是home = Blueprint('home', __name__, static_url_path='/app/static', static_folder="static") 无法从admin/dashboardstatic/获取admin/static/资源。奇怪的是,我后来在GET http://127.0.0.1:5000/admin/static/vendors/bootstrap/dist/js/bootstrap.min.js目录中添加了整个static文件夹,但仍然找不到上面的bootstrap.min.js链接。这是我的app / init .py文件,我在其中使用admin

注册蓝图
app

和home / views.py

from .admin import admin as admin_blueprint
app.register_blueprint(admin_blueprint, url_prefix='/admin')

from .home import home as home_blueprint
app.register_blueprint(home_blueprint)  

列出了base.html,其中包含一些要加载的静态资源。

@home.route('/dashboard')
@login_required
def dashboard():
    """
    Render the dashboard template on the /dashboard route
    """
    return render_template('home/dashboard.html', title="Dashboard")

@home.route('/admin/dashboard')
@login_required
def admin_dashboard():
    prevent non-admins from accessing the page
    if not current_user.is_admin:
         abort(403)

    return render_template('home/admin_dashboard.html', title="Admin Dashboard") 

根据文档,提供带前缀页面的static_url_path应该可以工作,是否有人对这里发生的错误有任何了解。任何帮助,将不胜感激。谢谢

0 个答案:

没有答案