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
linkbg
V2EX  ›  Python

关于 Flask 中 static 文件夹的路径问题

  •  
  •   linkbg · 2016-05-07 18:47:49 +08:00 · 2879 次点击
    这是一个创建于 3154 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我根据官方的方式创建和设置成功了结构如下

    • myapp ——
    •  |—— static
      
    •  |—— template
      

    但是我想将模板中用的 CSS 和 js 单独放入 tempalte 文件夹中的 static ,结构如下

    • myapp ——
    • |—— static 其他的静态文件图片和视频或者用户上传的东西
      
    •   |—— template
      
    •   	|——— static
      
    •     	|—— css
      
    •         |—— js
      

    但是我在模板中使用了会报错,问我 static 是表示静态的意思吗? 实际使用情景:

    <link rel="shortcut icon" href="{{ url_for(" template="" static",="" filename="img/favicon.ico" )="" }}"="">

    请问如何才能实现模板的静态文件和其他静态文件是分开存放呢?

    11 条回复    2016-05-09 11:27:56 +08:00
    neoblackcap
        1
    neoblackcap  
       2016-05-07 19:16:28 +08:00
    我估计 flask 是 hard code 进去的,因此应该没有什么办法。你要改最快大概就是上个 nginx 之类的 web sersver
    linkbg
        2
    linkbg  
    OP
       2016-05-07 19:23:14 +08:00
    @neoblackcap 我目前还在本地测试没有部署到服务器上,本地测试也不行吗?
    neoblackcap
        3
    neoblackcap  
       2016-05-07 19:43:22 +08:00
    @linkbg 你不是已经实践过了吗?明显就是不行嘛。
    KKKKKK
        4
    KKKKKK  
       2016-05-07 19:45:06 +08:00 via Android
    flask 中可以设置 static 文件夹
    YUX
        5
    YUX  
       2016-05-07 19:46:50 +08:00
    static 不应该在 template 里 这俩是并排的
    href="{{ url_for('static', filename='img/favicon.ico') }}"
    linkbg
        6
    linkbg  
    OP
       2016-05-07 20:01:18 +08:00
    @neoblackcap 对我实践。我在想是不是可以设置一下,或者怎么样实现,可能真的不行吧。。。谢谢啦。
    neoblackcap
        7
    neoblackcap  
       2016-05-07 20:20:06 +08:00
    @linkbg 再 google 了一下

    from flask import Flask

    app = Flask(__name__, static_folder='static', static_url_path='')

    出自:http://stackoverflow.com/questions/4239825/static-files-in-flask-robot-txt-sitemap-xml-mod-wsgi
    linkbg
        8
    linkbg  
    OP
       2016-05-07 20:49:06 +08:00
    @neoblackcap 我看看,感谢阿~!
    loading
        9
    loading  
       2016-05-07 21:00:05 +08:00 via Android
    使用 static 只是内置的,实际线上不会直接用,一般会使用 nginx 处理静态文件,所以,你应该懂了。
    hxndg
        10
    hxndg  
       2016-05-08 20:28:57 +08:00
    恩,我个人建议如果使用 css 和 js 使用 cdn 上的吧,会省掉一部分问题
    linkbg
        11
    linkbg  
    OP
       2016-05-09 11:27:56 +08:00
    @loading 明白了。谢谢
    @hxndg 会考虑的。谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5525 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:05 · PVG 15:05 · LAX 23:05 · JFK 02:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.