2016-04-01 60 views
0

我在Openshift中开发Django应用程序,但是如果我想在本地运行我的应用程序[localhost:8000]应用程序不加载静态文件,但我的HTML模板已加载并且完美显示。在本地运行Django Openshift应用程序时,不会加载静态文件

+1

通常,这表示您的静态资产设置可能不正确。你可以使用当前的'STATIC_ROOT'和'STATIC_URL'设置更新问题吗?此外,如果您使用'manage.py runserver'运行应用程序,那么还请确保遵循[在开发过程中提供静态文件](https://docs.djangoproject.com/es/1.9/howto/static-files/)如有必要。 – sthzg

+0

@sthzg我知道它并寻找他们,但我不能解决我的问题 否则你可以说如何在应用程序中查找静态文件'[myapp]'在'settings.py'内写入 – beastreload

+0

什么服务器你在本地运行吗? Django开发服务器?在OpenShift上,如果静态文件位于正确位置,它将使用Apache/mod_wsgi自动托管它们。在本地,如果不使用Django开发服务器,则需要将服务器配置为自己托管它们,通过服务器配置或使用Whitenoise Dango中间件。 –

回答

0

如果您可以提供更多详细信息或共享代码,特别是可以正常工作的模板代码以及不加载静态文件的代码。 最基本的问题可能是你错过了正确的静态文件配置。或者仅仅是缺少模板标签{% load staticfiles %}

尝试:https://docs.djangoproject.com/en/1.9/howto/static-files/

+0

简而言之,这里发生的是,当我将代码提交给** Openshift **并打开页面时,静态文件被加载并且它们显示正确。 但在本地运行_(在我的电脑中)_它找不到我的静态文件'[Windows]' – beastreload

0

所以我遇到了类似的问题。正如utkarshmail2052提到的,如果你看一下Django文档serving static files during development你会看到以下内容:

除了这些配置步骤,您还需要真正服务于静态文件。如果你使用django.contrib.staticfiles如上所述,runserver命令 会自动执行此操作时,DEBUG设置为True ...

所以我速战速决被证实在我的settings.py DEBUG =真文件在我的本地机器上。现在,当您运行python manage.py runserver时,django应该自动为您的localhost上的静态文件提供服务。

在部署应用程序之前,请确保DEBUG为false。