【问题标题】:Django 1.10 - why the app does not work with DEBUG=FALSEDjango 1.10 - 为什么应用程序不能使用 DEBUG=FALSE
【发布时间】:2017-05-10 15:10:27
【问题描述】:

我完全是 Django / Python 的初学者。

我在 Django 1.10 中编写了我的应用程序,一切正常,现在我想在生产服务器上移动应用程序。

所以,我将 DEBUG 设置为 FALSE,突然整个应用程序停止工作。这意味着,通常一个应用程序可以工作,但静态链接不起作用,程序看不到 js、css 文件。

你知道吗?为什么?

谢谢

【问题讨论】:

  • 欢迎来到 Stack Overflow!这个问题可能很快就会被关闭为重复或“太宽泛”。但是,不要气馁!如果答案(此处或重复问题)不能完全解决您的问题,请对其进行编辑以包括原因并将其标记为重新打开。谢谢!

标签: python django


【解决方案1】:

开发服务器知道如何提供静态文件,但您必须设置一些设置才能使其在生产中工作。你可以阅读它here

这也会将您指向this 页面。

您需要执行以下操作:

  1. 确保django.contrib.staticfiles 包含在您的INSTALLED_APPS 中。
  2. 在您的设置文件中,定义STATIC_URL
  3. 使用static 模板标签为给定的相对路径构建URL。例如:

{% load static %} <img src="{% static "my_app/example.jpg" %}" alt="My image"/>

  1. 将静态文件存储在应用程序中名为 static 的文件夹中。例如my_app/static/my_app/example.jpg
  2. 在您的设置文件中设置STATICFILES_DIRS 设置。例如:

STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), '/var/www/static/', ]

【讨论】:

  • 嗨。我做到了,但我仍然无法在生产模式下运行应用程序。
  • STATIC_URL = '/static/'
  • STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), '/local/home/rob/testTool/static/', ]
  • INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages' , 'django.contrib.staticfiles', 'testApp', ]
  • 和 css 文件的示例路径:
猜你喜欢
  • 1970-01-01
  • 2020-11-13
  • 2021-04-04
  • 1970-01-01
  • 2015-12-27
  • 2011-11-16
  • 2013-03-08
  • 2010-09-20
  • 2010-10-02
相关资源
最近更新 更多