Django web application
本番アプリケーションを設定するために、新しいサーバーにデプロイしています。
を構成するために 2 日後、静的ファイルと管理静的ページによると、新しい問題が発生していますApache2
。wsgi
私の本番環境:
- Ubuntu サーバー 16.4
- ジャンゴ 2.0.1
- パイソン 3.5.2
- アパッチ 2.4
- WSGI
私の静的環境:
DatasystemsCORE
├── DatasystemsCORE
│ ├── settings.py
├── API-GED
├── Authentification
├── Configuration
├── Templates
├── static
│ ├── Theme
│ ├── Theme1
│ ├── css
│ ├── js
│ ├── images
│ ├── flags
│ ├── Theme2
│ ├── css
│ ├── js
│ ├── images
│ ├── flags
├── ...
ご覧のとおり、選択したテーマの機能ですべての静的ファイルを含む静的ディレクトリがあります。
python3 manage.py collectstatic
静的ディレクトリの管理部分に従って静的ファイルをインポートするには、次を作成する必要があります。
私のsettings.pyファイル:
# Static files (CSS, JavaScript, Images)
# http://docs.djangoproject.com/en/2.0.1/howto/static-files/
STATIC_URL = '/static/'
THEME_DIRS = os.path.join(BASE_DIR, "static", "Theme/")
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"), THEME_DIRS, ]
PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
トレースバック:
Copying '/var/www/html/DatasystemsCORE/static/Theme/Datasystems/css/Base.css'
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
utility.execute()
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/site-packages/django/core/management/__init__.py", line 365, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/site-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/site-packages/django/core/management/base.py", line 335, in execute
output = self.handle(*args, **options)
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 189, in handle
collected = self.collect()
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 114, in collect
handler(path, prefixed_path, storage)
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 354, in copy_file
self.storage.save(prefixed_path, source_file)
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/site-packages/django/core/files/storage.py", line 49, in save
return self._save(name, content)
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/site-packages/django/core/files/storage.py", line 236, in _save
os.makedirs(directory)
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/os.py", line 231, in makedirs
makedirs(head, mode, exist_ok)
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/os.py", line 231, in makedirs
makedirs(head, mode, exist_ok)
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/os.py", line 231, in makedirs
makedirs(head, mode, exist_ok)
File "/home/valentin/.virtualenvs/DSCoreEnv/lib/python3.5/os.py", line 241, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/var/www/html/DatasystemsCORE/DatasystemsCORE/static'
Django が既存の静的ディレクトリの外に静的ディレクトリを作成する理由がわかりません。許可が拒否されたのはなぜですか?
管理静的要素を静的ディレクトリにインポートするにはどうすればよいですか?
このパスからの静的ファイルを想定しています:.virtualenvs/DSCoreEnv/lib/python3.5/site-packages/django/contrib/admin/static/admin/