【发布时间】:2018-08-12 15:57:43
【问题描述】:
Python:3.6.3 // Django:2.0.2
我正在编写一个 Django 应用程序。我正在 Windows 上使用 PyCharm 开发它。我在 Windows 上调试它。我正在将它部署到一个 linux 机器上。
Linux 方面的工作正常。 Windows 端似乎忘记了 STATIC 资源。有时应用程序会加载我的项目 css 文件,有时不会。它几乎从不加载项目 js 文件。
我的设置文件的静态部分如下所示:
STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(SITE_BASE_DIR, "public/static/")
STATICFILES_DIRS = [
# os.path.join(SITE_BASE_DIR, "public/static"),
]
此设置在 linux 上运行正常,但 windows 会混淆。
在 Windows 上,如果我取消注释 STATICFILES_DIRS 条目(不注释 STATIC_ROOT),那么 css 和 js 资源似乎可以工作。在 linux 上,它抱怨 STATIC_ROOT 和 STATICFILES_DIRS 中的重复项。
静态结构看起来像
|-- public
| |-- favicon.gif
| |-- favicon.ico
| `-- static
| |-- MyApp
| | |-- css
| | | `-- index.css
| | `-- js
| | `-- index.js
| |-- admin
| | |. . .
| `-- django_extensions
| |. . .
这一定是我的错,但我看不出我在哪里搞砸了。
【问题讨论】:
-
你在使用
collectstatic吗? -
是的,但正如@MichaelB 在下面指出的那样,我是在开发环境中进行的。
标签: django python-3.6