从这里我得到了一些帮助,混合了一些答案。这里,我把所有的部分相加。[我这样做是为了初学者的帮助,也是为了我将来的使用]
首先的问题是为什么需要Debug=False !
我把我的项目放在AWS中,由于内存泄漏,几个小时后连接超时。
一开始我想用芹菜。[当然我只是个初学者]
然后把DEBUG=False从DEBUG=True改为DEBUG=False,正如我们在settings.py中看到的安全警告
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
一旦我这样做,我的静态文件在网页中加载不成功。
然后我到处搜索,首先尝试从这里——insecure命令运行服务器。
python manage.py runserver --insecure
这是成功的,但我不希望我的项目在生产时采用不安全模式。
在我看来,正确的解决方法是以下步骤。
首先,我纠正了settings.py中的静态URL、根目录和目录
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
然后通过命令收集静态文件
python manage.py collectstatic
现在是第二步,[这里也提供了]
首先在命令行中的项目目录中安装白噪声
pip install whitenoise
然后添加'whitenoise.middleware。在settings.py中中间件列表中的WhiteNoiseMiddleware'。
这应该添加在django.middleware.security下面。SecurityMiddleware'以及所有其他中间件。这样你的中间件列表看起来就像这样:-
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware', #after this line
'whitenoise.middleware.WhiteNoiseMiddleware', #add it exactlyhere
'django.contrib.sessions.middleware.SessionMiddleware', #before this
'...'
]
在你安装的应用程序顶部添加'whitenoise.runserver_nostatic',这样你安装的应用程序列表将看起来像这样
INSTALLED_APPS = [
'whitenoise.runserver_nostatic',
'django.contrib.admin',
'django.contrib.auth',
'...'
]
完成后,您现在就可以在生产环境中提供静态文件了!![我对我当地的环境也是这样做的]
只要像往常一样使用runserver命令,不需要任何不安全或其他任何东西。
python manage.py runserver
繁荣! !这对我很有用。
哈哈哈。我知道我有点孩子气,但我现在很开心。
感谢所有在这里提供答案并帮助我工作的人。