2017-10-20 22 views
0

Djangoを初めて使用しました。 CSSファイルをtemplate/index.htmlに追加したいのですが、DEBUGモード以外の方法はわかりません。Django - 静的ファイルが機能していません

プロジェクト名:水銀

アプリケーション名:ガンマ

/root/workspace/django/mercury/mercury/settings.py

STATIC_URL = '/static/' 
STATIC_ROOT = '/root/workspace/django/mercury/static/' 

STATICFILES_DIRS = [ 
    '/root/workspace/django/mercury/bootstrap/dist/', 
] 

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
) 

/ルート/ワークスペース/ジャンゴ/水銀/ gamma/templates/gamma/index.html

<link href="{% static 'css/dashboard.css' %}" rel="stylesheet"> 

元々のdashboard.cssファイルのフルパス

/root/workspace/django/mercury/bootstrap/dist/css/dashboard.css 

'のpython manage.pyのcollectstatic' /root/workspace/django/mercury/static/css/dashboard.cssを実行した後

出力:私は

[20/Oct/2017 12:27:48] "GET /static/css/dashboard.css HTTP/1.1" 404 98 

何かが欠けている?

私は数多くのことを試みたが、助けなかった。

ありがとうございます!

これは私が興味がある人のために私の問題を解決するために何をしたかである

[ソリューション]:

htppdの設定Apacheの/からhttpd + mod_wsgiの

$ yum install httpd mod_wsgi 

編集をインストール

/etc/httpd/conf.d/django.conf

Alias /static /root/workspace/django/mercury/static 
<Directory /root/workspace/django/mercury/static> 
    Require all granted 
</Directory> 

<Directory /root/workspace/django/mercury> 
    <Files wsgi.py> 
     Require all granted 
    </Files> 
</Directory> 

WSGIDaemonProcess gamma python-path=/root/workspace/django/mercury:/usr/lib/python2.7/site-packages/ 
WSGIProcessGroup gamma 
WSGIScriptAlias//root/workspace/django/mercury/mercury/wsgi.py 

settings.py

DEBUG = False

答えて

0

静的ファイルで無効にデバッグモードでは、あなたのウェブサーバによって提供される必要があります。静的ファイルの使用のポイントは、djangoを通過する必要がない場合、ウェブサーバーがファイルを配信する方が速いことです。したがって、あなたのウェブサーバがURL /static/にある/root/workspace/django/mercury/static/を提供していることを確認する必要があります。

デバッグモードでは、@ sandeep-balagopalによってポストされたコードスニペットで静的ファイルを扱うことができるため、デバッグするときにはmanage.py runserverと動作します。

詳細については、documentationを参照してください。

+0

私はDjangoがウェブサーバーの部分を解決すると思っていました。 ありがとう、私はhttpdをインストールして設定して、今は動作します。 – Marius

関連する問題