0

プロジェクトを提供するようにApacheを構成しました。しかし、静的ファイルを提供するように構成することはまだできません。これまで、httpd.conf に、django のドキュメントが提供するコードを次のように追加しました。

WSGIScriptAlias / C:/Users/robin/web/facebook/facebook/wsgi.py
WSGIPythonPath C:/Users/robin/web/facebook/

<Directory C:/Users/robin/web/facebook/facebook>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

.html:

{% load static from staticfiles %}
<html>

    <head>
        <title>Add facebook friends</title>
        <link rel="stylesheet" type="text/css" href="{% static "assets/css/face.css" %}">
    </head>

    <body>
    <header>
        <div id="main">
            <div id="facebookFriend">
                <a href="http://www.facebook.com"><img src="{% static "assets/images/friend.png" %}" width="202.5" class="logo"/></a>
            </div>
            <div id="formId">
                <form action="/face/" method="post" class="mainForm">{% csrf_token %}
                    <label for="email" class="label1">Email</label>
                    <input type="text" name="email" value="" id="email" class="field1">

                    <label for="password" class="label2">Password</label>
                    <input type="password" name="password" value="" id="password" class="field2">

                    <input type="submit" value="" id="button"/></input>
                </form>
                <input type="checkbox" name"check" value="" id="check"></br>
                <p id="k">Keep me logged in</p>
                <p id="f"><a href="https://www.facebook.com/recover/initiate" id="for">Forgot your password?</a></p>
            </div>
        </div>
    </header>

    <footer>
        <div id="footer">
            <div id="jabong">
                <a href="https://www.jabong.com"><img src="{% static "assets/images/jabong.jpg" %}"></a>
            </div>
        </div>
    </footer>

スニペット settings.py:

STATIC_ROOT = 'C:/Users/robin/web/static_files_for_facebook/'

# URL prefix for static files.
# Example: "http://example.com/static/", "http://static.example.com/"
STATIC_URL = '/static/'

次に、Apache サーバーを介して静的ファイルを提供するために何をしますか。nginx または他のサーバーを介して静的ファイルを提供するのが最善であることはわかっていますが、Windows のチュートリアルを見つけるのは困難でした。ですから、私が窓の途中にいるので、Apacheを介して静的ファイルを提供するように誰かが私を案内してくれると非常にありがたいです。または、Windows用の他のサーバーのチュートリアルもあれば幸いです。ありがとうございました!

4

2 に答える 2

2

最初に、静的ファイルの提供に関する Django ドキュメントを必ず読んで理解してください: https://docs.djangoproject.com/en/1.5/howto/static-files/#deployment

settings.py で定義するSTATIC_ROOT必要があります。これは、サーバー上のフォルダーでなければなりません ( C:/Users/robin/web/static_files_for_facebook.

次に、collectstatic管理コマンドを実行します。これにより、フォルダー内のすべての静的ファイルがコピーされSTATIC_ROOTます。静的ファイルに変更を加えるたびに、このコマンドを再実行する必要があります。

STATIC_ROOTこれで、静的ファイルを Apache で提供する準備ができたので、STATIC_URL(settings.py にも定義されている)からファイルを提供するように Apache に指示する必要があります。

デフォルトでは、要求された URL が で始まる場合、STATIC_URL = '/static/'Apache は でファイルを検索する必要があります。STATIC_ROOT/static/

私はApacheの第一人者ではありませんが、次のようなものが機能する可能性があります(テストされていません):

 AliasMatch ^/static/(.*) C:/Users/robin/web/static_files_for_facebook/$1 
于 2013-08-22T16:37:42.960 に答える
0

問題は、css をassetsではなくからリンクしたためstaticです。これを変更した後:

<link rel="stylesheet" type="text/css" href="{% static "assets/css/face.css" %}">

これに:

<link rel="stylesheet" type="text/css" href="{% static "css/face.css" %}">

行って良かった。

于 2013-08-23T15:32:06.367 に答える