0

私はdjangoで小さなアプリを作成しましたが、テンプレートを使用しています。各テンプレートは、css、js、画像などの静的ファイルを使用します。テンプレートと同じディレクトリにあるすべてのファイル。

template
    main.html
    support.html
    about.html
    ...

    css
        reset.css
        style.css
        ...

    img
    js
        jquery.js
        main.js
        ...

HTMLテンプレートファイルを編集せずにそれらのファイルをロードするようにdjango開発サーバーを構成する必要があった場合は?

私は受け取っています

http://127.0.0.1:8000/face/css/960_24_col.css   404 NOT FOUND    127.0.0.1:8000

このsettings.pyの変更は役に立ちませんでした

STATIC_ROOT = 'C:/Projects/site/website/face/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = ('C:/Projects/site/website/face/static',)
4

3 に答える 3

0

これは、Django 開発サーバーを介して静的ファイルを提供する方法です。

urls.py で定義:

from os import getcwd, path as ospath
...
urlpatterns += patterns('',
    (r'css/([a-zA-Z0-9_.]+.css)$', 'django.views.static.serve', {'document_root': ospath.join(getcwd(), 'css')}),
    (r'images/(.*)$', 'django.views.static.serve', {'document_root': ospath.join(getcwd(), 'images')}),
    (r'js/([a-zA-Z0-9_.]+.js)$', 'django.views.static.serve', {'document_root': ospath.join(getcwd(), 'js')})
)
于 2012-07-19T20:18:58.823 に答える
0

STATIC_URL は「/static/」として定義されているため、すべての静的ファイルは /static から提供されます。

つまり /face/css/960_24_col.css は正しくありません。

face ディレクトリが C:/Projects/site/website/face/static/face にあると仮定すると、これは /static/face/css/960_24_col.css になります。

また、設定ファイルで絶対パスを使用しないことをお勧めします。プロジェクトのルートの絶対パスを見つけるには、次のようなものを使用します。

PROJECT_DIR = os.path.abspath(os.path.dirname(__file__)) 
于 2012-07-19T14:35:18.293 に答える