2017-02-25 10 views
0

私のプロジェクトをDjango 1.8からDjango 1.10にアップグレードする際に問題があります:静的ファイルはもうロードされません。Django 1.8からDjango 1.10への静的ファイルの管理方法

私のテンプレートは次のようになります。

{% load staticfiles %} 

<!DOCTYPE html> 
... 
    <link href="{%static 'file.css' %}" rel="stylesheet"> 
... 

はその後、私のファイルのsettings.pyに、私はインストールアプリとして「django.contrib.staticfiles」を持っています。 DEBUGがTrueに設定されている、と私は持っている:

STATIC_URL = os.path.join(BASE_DIR, 'static/') 
STATIC_ROOT= os.path.join(BASE_DIR,'static/') 
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static/'), "./", ] 

をしかし、HTMLが生成されるとき%の静的はもう何の効果もありませんように、それはあります。空の文字列に置き換えられます(Django 1.8では%staticがSTATIC_URLの内容に置き換えられます)。誰もがこれを修正する方法を知っていますか?

答えて

1

python manage.py collectstaticコマンドを実行すると、urls.py(mainproject/urls.py)の更新を追加できますか?

from django.conf.urls import url, include 
from django.contrib import admin 
from django.conf import settings 
from django.conf.urls.static import static 
urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
] 
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

settings.py 
=================== 
import os 

# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 
def root(folder): 
    return os.path.join(os.path.abspath(os.path.dirname(__file__)), '..',folder) 

STATIC_ROOT = root('staticstorage') 
STATIC_URL = '/static/' 
# Additional locations of static files 
STATICFILES_DIRS = (
    root('static'), 
) 
+0

ありがとうございました。実際には、STATIC_URL = '/ static /'という行だけが役に立ちました。変わったですが、STATIC_URL = 'c:/ toto/static'のようなものを書くと、空の文字列としてカウントされますが、 '/ toto/static'と書くとそうではありません。たぶん、 ':'文字は少し物事です。 – Archimondain

+0

この場合も、Django1.8とDjango 1.10の違いではなく、Linux(Django 1.8がインストールされている)とWindows(Django 1.10がインストールされているところ)の間にあります – Archimondain

+0

私は実際に私のブラウザのキャッシュシステムにトラップされました。 settings.pyファイルのすべての行が必要ですが、なぜそれが分からないのですか? – Archimondain

関連する問題