V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
zjxubinbin
V2EX  ›  Python

Flask 框架怎么处理多级静态目录?

  •  
  •   zjxubinbin · 2014-02-17 11:21:34 +08:00 · 6225 次点击
    这是一个创建于 3967 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如静态目录是Project/static
    那Project/static/images/1.jpg
    Project/static/js/1.js
    Project/static/css/1.css这种url怎么处理?
    在模版里边直接用url_for是可行的,但是调用的资源多了,代码就很乱。。。
    2 条回复    1970-01-01 08:00:00 +08:00
    Sight4
        1
    Sight4  
       2014-02-17 11:43:08 +08:00   ❤️ 1
    可以自己写filter解决,静态的路径可以在req之前在context添加,例如:
    def req_ctx_config(app, static_path):
    @app.before_request
    def create_app_config():
    if not hasattr(g, 'static_path'):
    g.static_path= static_path
    然后你就可以在渲染里面使用g.static_path获得静态根目录了,如果配合filter,可以实现类似
    {{g.static_path|to_static_url('images', '1.jpg')}}
    这种模式
    greatghoul
        2
    greatghoul  
       2014-02-17 11:56:23 +08:00   ❤️ 1
    也可以自己写marco

    https://github.com/ScriptFan/ScriptFan.com/blob/dev/website/scriptfan/templates/_helpers.html

    然后直接

    {{ t.css('lib/bootstrap/css/bootstrap.min.css') }}
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   940 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:10 · PVG 05:10 · LAX 13:10 · JFK 16:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.