Django-compressor: Django tidak mengambil file terkompresi ketika Debug disetel ke False

Dibuat pada 22 Des 2012  ·  5Komentar  ·  Sumber: django-compressor/django-compressor

Jadi saya membuat Django-compressor bekerja dalam pengembangan dengan Debug = False. Namun, setelah saya menyetel Debug = True, django-compressor tampaknya menghasilkan URL, file, dan segalanya yang benar, tetapi Django sendiri mengembalikan 404 untuk file-file itu.

saya sudah

STATIC_ROOT = os.path.join(PROJECT_DIR, "static_media")

dan di dalam folder static_media di proyek saya, saya memang bisa melihat file CACHE/css/bfdeac875f7a.css yang dibuat oleh kompresor.

Di dalam file HTML yang dihasilkan, saya juga bisa melihat

<link rel="stylesheet" href="/static/CACHE/css/bfdeac875f7a.css" type="text/css" />

tetapi ketika halaman dimuat, runserver mengatakan:

[21/Dec/2012 22:28:44] "GET /static/CACHE/css/bfdeac875f7a.css HTTP/1.1" 404 276

Apakah saya melewatkan sesuatu? Aku sudah

  • menambahkan 'django.core.context_processors.static', ke TEMPLATE_CONTEXT_PROCESSORS
  • menambahkan 'compressor.finders.CompressorFinder', ke STATICFILES_FINDERS
  • menambahkan 'compressor', ke INSTALLED_APPS

Terima kasih!

Komentar yang paling membantu

Maaf, tidak percaya saya melewatkannya sebelumnya: Saya entah bagaimana membaca bahwa Anda memiliki masalah ketika DEBUG _True_.

Bagaimanapun. Ketika DEBUG = False, runserver Anda akan, secara default, menolak untuk melayani file statis itu sendiri, karena masalah kinerja dan keamanan. Ini untuk mencegah Anda menggunakan ini dalam produksi. Untuk dapat menguji staticfiles Anda secara lokal dengan benar ketika DEBUG False, Anda harus meneruskan flag --insecure ke runserver, seperti yang didokumentasikan di sini: https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/ #django -admin-option---tidak aman

Apakah itu memperbaiki masalah Anda?

Semua 5 komentar

Hai,

Kami akan membutuhkan lebih banyak info tentang penyiapan Anda untuk membantu Anda:

  • Pengaturan COMPRESS_* Anda, pengaturan STATIC_URL, pengaturan STATICFILES_*
  • Apakah staticfiles di INSTALLED_APPS Anda?
  • Apa versi Django Anda?
  • Apakah file statis lainnya berfungsi dengan benar? Anda menggunakan runserver untuk melayani mereka, bukan?

Terima kasih

Hai,

Saya menggunakan Django 1.4.3, dengan pengaturan berikut:

...

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = os.path.join(PROJECT_DIR, "static_media")

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

# Additional locations of static files
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    os.path.join(PROJECT_DIR, "static"),
)

# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
    'compressor.finders.CompressorFinder',
)

COMPRESS_PRECOMPILERS = (
    ('text/coffeescript', 'coffee --compile --stdio'),
    ('text/x-scss', 'sass --scss {infile} {outfile}'),
)

...

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    ...
    'compressor',
    ...
)

...

Berkas yang saya masukkan secara manual ke dalam static_media juga tidak dapat diakses dari url /static/ , jadi saya pasti belum mengonfigurasi staticfile dengan benar... Saya juga bermigrasi dari Django 1.3, jika itu penting. Apakah Anda punya firasat tentang apa yang harus saya coba?

Juga, runserver berhasil mengambil file di folder static_media ketika Debug benar, tetapi gagal ketika salah...

Maaf, tidak percaya saya melewatkannya sebelumnya: Saya entah bagaimana membaca bahwa Anda memiliki masalah ketika DEBUG _True_.

Bagaimanapun. Ketika DEBUG = False, runserver Anda akan, secara default, menolak untuk melayani file statis itu sendiri, karena masalah kinerja dan keamanan. Ini untuk mencegah Anda menggunakan ini dalam produksi. Untuk dapat menguji staticfiles Anda secara lokal dengan benar ketika DEBUG False, Anda harus meneruskan flag --insecure ke runserver, seperti yang didokumentasikan di sini: https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/ #django -admin-option---tidak aman

Apakah itu memperbaiki masalah Anda?

Ya ampun, burukku. Saya secara tidak sengaja mengganti "Benar" dan "Salah" dalam pertanyaan awal saya, maaf atas kebingungannya!

Dan terima kasih banyak, itu menyelesaikan masalah!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat