仔细阅读这里有关同一主题的所有问题,但无法解决我的问题。我以这种方式设置了一个项目(this的修改版本)目录;
我有两个链接可以从主页访问
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/dashboard
:static/
获取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应该可以工作,是否有人对这里发生的错误有任何了解。任何帮助,将不胜感激。谢谢