美文网首页
多个 app 情况下的静态文件设置

多个 app 情况下的静态文件设置

作者: SingleDiego | 来源:发表于2018-01-05 11:44 被阅读456次

本例中,我们的项目有两个 app,分别是 myapp 和 userapp,这样我们的静态文件会分为三部分:

    1. 公共部分(比如全站都会使用的css、jquery、背景图等)
    1. myapp 使用的静态文件
    1. userapp 使用的静态文件




首先我们在 settings.py 中这样设置:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

# 我们的静态文件分开三个部分
# 这里我们设为三个路径
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'myproject', 'static'),
    os.path.join(BASE_DIR, 'myapp', 'static'),
    os.path.join(BASE_DIR, 'userapp', 'static'),
    ]

现在我们这样来组织文件结构:

/myproject # 根目录
    /myproject
        /static # 公共的静态文件放这里
            /myproject
                /css
                /image
                /js
        …………(setting、urls等文件)

    /myapp
        /static # myapp使用的静态文件放这里
            /myapp
                /css
                /image
                /js
        …………(views、models等文件)

    /userapp
        /static # username使用的静态文件放这里
            /userapp
                /css
                /image
                /js
        …………(views、models等文件)

    /db.sqlite3
    /manage.py

注意到,每个 app 中的 static 文件夹内都在包含一个和 app 名称一样的文件夹,在该文件夹内在分别放置 css、js、image 等文件夹。这样做的好处是在部署项目时,执行完 python manage.py collectstatic 命令之后,静态文件被收集到 STATIC_ROOT 之后依旧是根据 app 分开的:

/static
    /admin # django 自带后台的静态文件
    /myapp
    /myproject
    /userapp

当我们要引入公共部分的静态文件时:

{% static 'myproject/css/xxx.css' %}

引入 myapp 的静态文件:

{% static "myapp/image/xxx.jpg" %}

引入 userapp 的静态文件:

{% static "userapp/image/xxx.jpg" %}

相关文章

  • 多个 app 情况下的静态文件设置

    本例中,我们的项目有两个 app,分别是 myapp 和 userapp,这样我们的静态文件会分为三部分: 公共部...

  • static file

    设置 设置STATIC_URL为在获取静态文件时的路由,例如设置为/static/ 把静态文件放到app中的对应位...

  • 树莓派

    树莓派设置静态ip 编辑文件,找到设置静态ip的地方,一般情况下都是注释掉的,可以手动解开,修改成下面的设置。如果...

  • iOS - 静态库与动态库的制作

    静态库与动态库的区别: 静态库在编译阶段成为 App 可执行文件的一部分,如果多个 App 都会用到就会有多个拷贝...

  • react-create-app + webpack 设置多个

    react-create-app + webpack 设置多个运行和打包地址 --- 不 enject 的情况下 ...

  • next.js cdn部署

    设置静态资源前缀 文档打包命令中指定环境REACT_APP_ENV next.config.js文件 图片文件前缀...

  • iOS项目中静态文件冲突问题的解决办法

    静态文件即.a文件,由很多个.o文件组成。在项目开发中往往需要引用多个第三方的静态文件,这个时候可能会碰到静态文件...

  • 微信小程序之关于app.json配置问题

    在微信小程序中app.json文件是用来进行全局配置的,用来设定文件路径,窗口表现,设置网络超市配置,以及设置多个...

  • 微信小程序动态设置导航栏标题

    首先,我们先来看看静态如何设置导航栏的标题的 在app.json文件中, 或者其他自定义的.json文件中, 动态...

  • 3. Flask 静态文件、模板文件设置

    需求 Flask默认的设置 静态文件的默认文件夹:static 静态文件的默认访问前缀:/static 模板文件的...

网友评论

      本文标题:多个 app 情况下的静态文件设置

      本文链接:https://www.haomeiwen.com/subject/brvjnxtx.html