V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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 · Feb 17, 2014 · 6616 views
    This topic created in 4452 days ago, the information mentioned may be changed or developed.
    比如静态目录是Project/static
    那Project/static/images/1.jpg
    Project/static/js/1.js
    Project/static/css/1.css这种url怎么处理?
    在模版里边直接用url_for是可行的,但是调用的资源多了,代码就很乱。。。
    2 replies    1970-01-01 08:00:00 +08:00
    Sight4
        1
    Sight4  
       Feb 17, 2014   ❤️ 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  
       Feb 17, 2014   ❤️ 1
    也可以自己写marco

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

    然后直接

    {{ t.css('lib/bootstrap/css/bootstrap.min.css') }}
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5366 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 03:51 · PVG 11:51 · LAX 20:51 · JFK 23:51
    ♥ Do have faith in what you're doing.