django - 我们可以在 django 设置中使用多个 static_url 或 static_root 吗?
问题描述
我想在文件夹中添加特定资产,并且应该能够使用 /assets/css/main.css 之类的 url 访问我能够使用 /static/css/main.css 来执行此操作,但不能使用 /assets/css/main。 css
为了让 django 也接受 /assets/ 路径,我需要做哪些更改。
默认 -
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/'
解决方案
为什么不为所有静态文件创建一个静态文件夹?如果您正在使用多个应用程序,您需要做的就是在主静态文件夹中创建目录。
现在查看您问题的详细信息,我建议您在主静态文件中创建两个子目录。像这样的东西:
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">
推荐阅读
- windows - 参考格式无效
- node.js - 使用firebase Nodejs客户端时如何处理Auth变量机制
- amazon-web-services - 将 AWS ALB 流量从一个账户发送到另一个账户
- python - 使用 CountVectorizer 一次对两个 pandas 列进行矢量化
- xslt - XSLT:system.description 显示为空
- requirejs - 适用于浏览器 JavaScript 的 AWS 开发工具包的正确来源是什么?
- java - 用其他多个字符替换Java中的多个字符?
- c# - kafka中实现HTTP同步请求响应
- javascript - 调整大小时出现 Jquery Datatables 问题
- javascript - Vue.js 和 Express-gateway CORS 请求