部署后在django应用程序中加载静态文件时遇到问题。
我知道我应该将static_root设置为要创建静态文件夹的路径,然后运行python manage.py collectstatic(不确定是否已经有一个静态文件夹,是否必须这样做)。>>
这是我的项目的结构
gradboost -->__pycache__ -->classroom __init__.py apps.py decorators.py forms.py models.py urls.py ------>templates ------>templatetags -->django_school __pycache__ __init__.py settings.py urls.py wsgi.py -->public -->static -->templates -->tmp manage.py passenger_wsgi.py public_html
这是我目前在settings.py上拥有的内容>
# Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.0/howto/static-files/ STATIC_URL = '/static/' STATIC_ROOT = '/gradboost/public/static' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]
正在运行collectstatic返回此错误消息
[PermissionError:[Errno 13]权限被拒绝:'/ gradientboostmvp'
这是打印设置时得到的。dict
{'_wrapped': <Settings "django_school.settings">, 'INSTALLED_APPS': ['django.contrib.auth','django.contrib.admin', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'crispy_forms', 'classroom'], 'LOGGING_CONFIG': 'logging.config.dictConfig', 'LOGGING': {}, 'FORCE_SCRIPT_NAME': None, 'DEBUG': False, 'DEFAULT_TABLESPACE': '', 'DATABASES': {'default': {'ENGINE': 'django.db.backends.sqlite3', 'NAME': '/home/thegqvow/gradboost/db.sqlite3', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}, 'ABSOLUTE_URL_OVERRIDES': {}, 'USE_I18N': True, 'LANGUAGE_CODE': 'en-us', 'LOCALE_PATHS': [], 'DEFAULT_INDEX_TABLESPACE': '', 'AUTH_USER_MODEL': 'classroom.User', 'SECRET_KEY': '**'}
部署后在django应用程序中加载静态文件时出现问题。我知道我应该将static_root设置为要创建静态文件夹的路径,然后运行python manage.py ...
您的静态根目录配置错误-我通常使用BASE_DIR
配置完整路径
# Should contain /path/to/gradboost
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
STATIC_ROOT = os.path.join(self.BASE_DIR, 'static')
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'public/static'),
]