在开发期间提供静态文件而不依赖于django.contrib.staticfiles

时间:2018-03-16 09:29:12

标签: django

我试图让我的前后端完全分开。前端是在node-land中开发的模板,其中(我希望)最少或不涉及上下文,后端是一组TemplateViews和API。

我正在将我的前端构建到我的frontend目录,所以这很简单,我只需设置settings.py

TEMPLATES = [
    {
        "DIRS": ["frontend/"]
    ...

当这些模板引用以下资产时,我遇到了困难:

<link rel="assets/css/foobar.css" />

foobar.css出现在相关位置,但开发服务器并不知道在那里看。显然在生产中代理服务器将直接提供这些文件,但是我可以让django dev服务器在我开发的时候这样做吗?我真的想避免使用{{ STATIC_URL }}加上前缀以及将后端连接到模板的其他模板标记。

1 个答案:

答案 0 :(得分:0)

想出来:有一个单独的开发设置文件覆盖:

STATIC_ROOT = os.path.join(BASE_DIR, 'frontend/build/assets/')
STATIC_URL = 'assets/'

现在,开发服务器可以在不依赖{% static %}标记的情况下查找正确的位置。