2014-11-30 15 views
9

Tôi đang sử dụng Django 1.7. Khi triển khai trang web của tôi đến một máy chủ sản xuất và chạy collectstatic, tôi nhận được thông báo lỗi sau: django.core.exceptions.ImproperlyConfigured: The STATICFILES_DIRS setting should not contain the STATIC_ROOT settingThu thập các tệp tĩnh ném Không đúng Cấu hình

tôi sử dụng các thiết lập chia; sản xuất của tôi local.py chứa:

STATIC_ROOT = '/home/username/projects/site/static/' 

base.py tôi bao gồm:

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'), 
) 
+1

có thể trùng lặp của [Tôi có thể tạo STATICFILES \ _DIR giống như STATIC \ _ROOT trong Django 1.3 không?] (http: // stackoverflo w.com/questions/12161271/can-i-make-staticfiles-dir-same-as-static-root-in-django-1-3) –

+0

Có thể, nhưng tìm kiếm "django.core.exceptions.ImproperlyConfigured: STATICFILES_DIRS cài đặt không được chứa cài đặt STATIC_ROOT "trong Google không chỉ cho tôi cài đặt đó. – SaeX

+0

Đó là bởi vì bạn có dấu ngoặc kép xung quanh nó. Câu hỏi đó liên quan đến cùng một vấn đề. –

Trả lời

18

Theo docs, collectstatic sẽ sao chép các tập tin từ thư mục khác nhau vào STATIC_ROOT.

Do đó, bạn không thể sử dụng thư mục STATIC_ROOT trong STATICFILES_DIRS.

Giải pháp: thay đổi STATIC_ROOT thành ví dụ: STATIC_ROOT = '/home/username/projects/site/assets/'

0

thấy điều này trong Django 1.11 documentation

urlpatterns = [ 
    # ... the rest of your URLconf goes here ... 
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

Khi bạn thực hiện thay đổi đối với urls.py như trình bày ở trên, nó sẽ hoạt động tốt.

0

tôi phải đối mặt với cùng một lỗi như (staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting. này khi tôi cố gắng sử dụng máy nén

vấn đề chính là tập tin settings.py My

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

Remove hoặc nhận xét:

STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]

Các vấn đề liên quan