zhangjingqiang
V2EX  ›  Django

Django的结构目录,为什么static要放在两个位置?

  •  
  •   zhangjingqiang · Feb 16, 2013 · 6684 views
    This topic created in 4826 days ago, the information mentioned may be changed or developed.
    按照一个教程做了一个 Django(1.4) 程序,基础目录如下:

    .
    ├── manage.py
    ├── ribbit
    │   ├── __init__.py
    │   ├── __init__.pyc
    │   ├── database.db
    │   ├── settings.py
    │   ├── settings.pyc
    │   ├── static
    │   ├── templates
    │   ├── urls.py
    │   └── wsgi.py
    └── ribbit_app
        ├── __init__.py
        ├── __init__.pyc
        ├── migrations
        │   ├── 0001_initial.py
        │   ├── 0001_initial.pyc
        │   ├── __init__.py
        │   └── __init__.pyc
        ├── models.py
        ├── models.pyc
        ├── static
        ├── tests.py
        └── views.py

    ribbit是项目名(django-admin.py startproject ribbit)
    ribbit_app是应用名(django-admin.py startapp ribbit_app)
    关于static文件,为什么要分别放在两个下面?
    /ribbit/settings.py 中指定的 STATIC_URL = '/static/' 是 ribbit_app 下的。
    那么 ribbit 下的 static 有什么用?
    5 replies    1970-01-01 08:00:00 +08:00
    imom0
        1
    imom0  
       Feb 16, 2013
    用 `python manage.py collectstatic` 能把这些目录下面的静态文件拷贝到 settings.STATIC_ROOT ,部署时配置静态文件URL指向STATIC_ROOT。
    lastmayday
        2
    lastmayday  
       Feb 16, 2013
    Django1.4的话 static目录, templates目录以及app目录是同级的吧
    zhangjingqiang
        4
    zhangjingqiang  
    OP
       Feb 17, 2013
    谢谢楼上各位回答。
    官方文档:
    https://docs.djangoproject.com/en/1.4/howto/static-files/
    ledzep2
        5
    ledzep2  
       Feb 18, 2013
    充分解耦. app可以带有自己的static, templates, templatetags. 你用dev server的时候, 他能找到. deploy的时候, 用collectstatic或者ln -s
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   781 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 19:52 · PVG 03:52 · LAX 12:52 · JFK 15:52
    ♥ Do have faith in what you're doing.