50320


Djangoの設定で`DEBUG =
False`をセットした時に、テンプレートファイル内の`static`タグがServerError(500)を発生させてしまいます。  
`DEBUG = True`の時には発生しません。また、下記の記述に変更しても問題なく動作します（組み込みの`/admin`が動かないのですが…）

[code]

    <!-- Error -->
    <link rel="stylesheet" href="{% static 'bootstrap-4/css/bootstrap.min.css' %}">
    <!-- Not error -->
    <link rel="stylesheet" href="/static/bootstrap-4/css/bootstrap.min.css">
    
[/code]

`manage.py runserver`では問題は発生しないので、`whitenoise`や`gunicorn`の設定が原因ではないかなと思ってます。

主に下記の構成で動かしているのですが、

  * Python 3.7.0

  * Django 2.1.3

  * whitenoise 4.1

  * gunicorn 19.9.0

解決策を教えてください。

### requirements.txt

[code]

    dj-database-url==0.5.0
    Django==2.1.3
    django-bootstrap4==0.0.7
    django-cleanup==2.1.0
    django-debug-toolbar==1.10.1
    django-extended-choices==1.3
    django-extensions==2.1.3
    django-heroku==0.3.1
    flake8==3.6.0
    future==0.17.1
    gunicorn==19.9.0
    mccabe==0.6.1
    Pillow==5.3.0
    psycopg2==2.7.5
    pycodestyle==2.4.0
    pyflakes==2.0.0
    pytz==2018.7
    six==1.11.0
    sqlparse==0.2.4
    whitenoise==4.1
    
[/code]

### staticfiles in settings.py

[code]

    STATIC_URL = '/static/'
    STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
    STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
    
    MEDIA_URL = '/media/'
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    
[/code]

### heroku run settings

[code]

    import django_heroku
    from .settings import *
    
    DEBUG = False
    django_heroku.settings(locals())
    
[/code]

### Directory

[code]

    - project_root
      - config
        - settings.py
        - heroku_settings.py
      - static
        - common_static_files
    
[/code]

### Error message

[code]

    File "/app/.heroku/python/lib/python3.7/site-packages/django/contrib/staticfiles/storage.py", line 419, in stored_name
    raise ValueError("Missing staticfiles manifest entry for '%s'" % clean_name)
    ValueError: Missing staticfiles manifest entry for 'bootstrap-4/css/bootstrap.min.css'
    
[/code]


CC BY-SA 4.0
2018-11-12T06:28:20.190
50235
2018-11-14T10:39:00.693
2018-11-12T07:13:22.227
30952
30952
question
python python3 django heroku
Whitenoiseを使用するDajngoにおいて、static タグがサーバーエラーを発生させる問題について


自己解決

`STATICFILES_STORAGE` に指定するモジュールにバグがあるのか、`STATICFILES_STORAGE`
の設定を削除(`del`)することで動作することを確認しました。

<https://stackoverflow.com/questions/26829435/collectstatic-command-fails-
when-whitenoise-is-enabled/32347324#32347324>


CC BY-SA 4.0
2018-11-14T10:39:00.693
50320
2018-11-14T10:39:00.693
30952
50235
answer