【问题标题】:django server doesn't load css when it is rundjango 服务器在运行时不加载 css
【发布时间】:2018-06-23 06:17:35
【问题描述】:

我有所有的静态文件,但由于某种原因,只有正常的 html 加载而没有 css。我曾尝试使用 collectstatic 并创建一个新项目,但它对任何项目都不起作用。 STATIC_URL 也与 url.py 中的 static 一起指定。似乎没有任何工作。

【问题讨论】:

  • 请在此处包含您的代码,以便我们为您提供帮助。此外,您可能还想阅读How to Ask 指南。
  • 对不起,web dev 和 django 的新手。我尝试将我的项目设置为我朋友的(他的工作正常),即使他无法解决问题。这是它的 git 的链接,请你看看它,我相信它是我可能错过的一些愚蠢的东西。提前致谢。 link
  • @SeanFrancisN.Ballais 我认为这与我的系统配置有关。因为同一个项目在不同的系统上运行良好。

标签: python css django django-templates django-admin


【解决方案1】:

如果您的 DEBUG 设置为 False 并且未提及任何静态文件目录,则可能会发生这种情况。 好的,更新你的 settings.py 如下:

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static_my_proj"),
]

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn", "static_root")

现在,您已经完成了名为 static_my_proj 的 make dir,与您的 manage.py 文件所在的级别相同。

好的,现在创建一个名为 static_cdn 的新目录,仅上一层,即上一层 manage.py 文件。

现在,在static_cdn 中创建一个名为static_root 的目录,这就是你所要做的。确保你运行python manage.py collectstatic

注意:

static_my_proj 用于开发或DEBUG = Truestatic_cdn 用于生产或DEBUG = True。方便,对吧?

另外,你可以用同样的方法添加媒体文件,只需添加,

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn", "media_root")

并在 static_cdn 下创建一个名为 media_root 的新目录。

先设置DEBUG = True,然后测试一下。

希望这会有所帮助。

【讨论】:

  • 嘿,这是我遇到问题时尝试的第一个。 DEBUG 从一开始就是 True。甚至提到了 STATICFILES_DIRS。我尝试了您再次提到的确切步骤,仍然是同样的问题。还有什么我可能会错过的吗?
  • @kewalkishan 请提供您的技术栈。
  • 我不太确定您要的是什么。但是 Django,引导程序,SQLite。
  • 我要的是 Django 版本。您可以通过键入命令 pip freeze 找到它。
  • 哦,它的 django 1.11.6 和 python 3.6
猜你喜欢
  • 1970-01-01
  • 2017-08-14
  • 1970-01-01
  • 2019-11-23
  • 1970-01-01
  • 2014-05-15
  • 1970-01-01
  • 2021-07-11
相关资源
最近更新 更多