我们可以在django设置中使用多个static_url或static_root吗?

问题描述 投票:1回答:2

我想在一个文件夹中添加特定资产,并且应该能够使用/assets/css/main.css这样的URL访问。我可以使用/static/css/main.css而不是/ assets / css / main来执行此操作。 CSS

我还需要做些什么更改才能让django接受/ assets / path。

默认 -

STATIC_ROOT = 'app/static'
STATIC_URL = '/static/'

用于访问静态和资产文件夹 -

STATIC_ROOT = 'app/static'
STATIC_URL = '/static/'

ASSET_ROOT = 'app/assets'
ASSET_URL = '/assets/'

我也尝试过这个 -

STATIC_ROOT = 'app/static'
STATIC_URL = '/static/'

ASSET_ROOT = os.path.join(BASE_DIR, 'app/assets')
ASSET_URL = '/assets/'
django static django-urls
2个回答
0
投票

如果最后所有文件都在'app'文件夹中,根据我的理解你的ROOT将是'app'文件夹,你可以创建其他变量并从.setting import X导入...


0
投票

为什么没有一个静态文件夹用于所有静态文件?如果您正在使用多个应用程序,那么您需要做的就是在主静态文件夹中创建目录。

现在查看问题的详细信息,我建议您在主静态文件中创建两个子目录。像这样的东西:

static/
    main/
      css/
         main.css
    assets/
      css/
         main.css

然后在settings.py文件中执行以下操作:

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

现在要访问模板中的静态文件,您可以执行以下操作:

{% load static %}

<link href="{% static "assets/css/main.css" %}" rel="stylesheet">
<link href="{% static "main/css/main.css" %}" rel="stylesheet">
© www.soinside.com 2019 - 2024. All rights reserved.