2

我正在尝试重新组织我的项目,因为其中的文件非常杂乱无章。主项目文件夹中有一个静态文件夹,应该只包含所有应用程序。所以我将一些 .js 文件重新定位到它们各自的应用程序中。

其中一个文件位于 /static/js/mmm 中,我正在尝试将其移至 mmm/static/mmm。我复制了文件并更改了我的一个模板(位于 mmm/templates/mmm)中的代码

<script src="/static/js/mmm/filemanage.js" type="text/javascript"></script>

{% load staticfiles %}
<script src="{% static "mmm/filemanage.js" %}" type="text/javascript"></script>

但是我打开了页面和 js 控制台,它试图访问这样的文件:http:
//fakedomain.com/static/mmm/filemanage.js

据我了解,它应该在 http://fakedomain.com/mmm/static/mmm/filemanage.js

在我的设置文件中,我将“mmm”作为已安装的应用程序,并且

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

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'assets'),
)

STATIC_URL = '/static/'

不知道我在这里做错了什么,因为我不完全理解 Django 如何搜索静态文件。我也没有把这些东西放在设置文件中,所以我不明白他们在做什么。Django 教程第 6 部分说“Django 的 STATICFILES_FINDERS 设置包含一个查找器列表,这些查找器知道如何从各种来源发现静态文件。默认设置之一是 AppDirectoriesFinder,它在每个 INSTALLED_APPS 中查找“静态”子目录,例如我们刚刚创建的民意调查中的一项。”

4

1 回答 1

1

我相信你的问题出在这条线上:

<script src="{% static "static/parcelManage.js" %}" type="text/javascript"></script>

在此处查看静态文件的文档。

基本上,看起来您应该将行更改为:

<script src="{% static "measuring/parcelManage.js" %}" type="text/javascript"></script>

于 2014-05-28T14:58:32.313 回答