Gunicorn 找不到静态文件

时间:2021-03-23 15:36:31

标签: django gunicorn django-staticfiles

使用来自 digitalcloud tutorial 的没有 nginx 的 gunicorn 我的服务器正在运行,控制台上是

not found: /static/style.css

settings.py

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

我已经尝试过

  1. collectstatic

  2. 在 urls.py 文件中执行 urlpatterns += staticfiles_urlpatterns()

  3. makemigrations + migrate

3 个答案:

答案 0 :(得分:0)

也许 django 尝试阅读 'static//static/style.css' 但你需要这个:'style.css' ;) ?

答案 1 :(得分:0)

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

STATIC_URL = '/static/'

STATIC_ROOT = os.path.join(BASE_DIR, "static/")

urlpatterns = [你的网址] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

答案 2 :(得分:0)

您可以在项目文件夹设置中创建,然后在其中创建名称等设置文件: 本地.py

from my_project.settings import *
DEBUG = True
ALLOWED_HOSTS = []
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

在虚拟机中运行,如:python manage.py runserver --settings settings.local

记住在网址中添加:

if settings.DEBUG == True:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

web.py

from my_project.settings import *
DEBUG = False
ALLOWED_HOSTS = ["www.side.com", "side.com"]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

然后在 gunicorn 中只导入 web.py 文件项目以在 nginx 中读取

在 VPS 服务器上运行。