Projek Django saya tidak dapat mencari css dan fail statik lain Saya ingin bertanya kepada semua orang saya kini dalam keadaan debug=true. Walau bagaimanapun, saya masih boleh mengkonfigurasinya dijumpai. Sila bantu Direktori Strukturnya adalah seperti berikut:
Konfigurasi dalam tetapan saya adalah seperti berikut:
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")
INSTALLED_APPS = (
'django.contrib.staticfiles',
'pyutil.django.cas',
)
Maka urlnya begini
from django.conf.urls import url, include,patterns
from django.conf.urls.static import static
import views
import settings
urlpatterns = [
url(r'^query/$', views.query),
url(r'^tips/', views.tips),
url(r'^home/', views.home),
url(r'^result_and_appeal', views.result_and_appeal),
url(r'^login/$', 'pyutil.django.cas.views.login', name='login'),
url(r'^logout/$', 'pyutil.django.cas.views.logout', name='logout'),
]+static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)
Inilah yang tertulis dalam html:
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="{% static "test.js" %}"></script>
<link rel="stylesheet" href="{% static "main.css" %}" type="text/css"/>
<title>xxx</title>
</head>
Apa pun, ada semua jenis 404 sekarang
Apakah versi Django yang anda miliki? 1.8? 1.9? Saya nampak anda sedang menggunakan
{% load staticfiles %}
而不是{% load static %}
Juga, adakah 404 anda merujuk kepada halaman web 404 atau fail statik 404?
Jika saya faham dengan betul anda sepatutnya kehilangan ayat ini dalam
setting.py
:Sila rujuk dokumentasi Django: Mengurus fail statik v1.8 Baca perenggan pertama untuk menyelesaikan masalah anda.
Selain itu,
STATIC_ROOT
merujuk kepada direktori yang terakhir anda terbitkan untuk kumpulkan, seperti/var/www/html/static
.STATIC_ROOT
指的是你最后发布要collect的目录,比如/var/www/html/static
这种。如果你是用
./manage.py runserver
Jika anda menggunakan./manage.py runserver
untuk menguji, anda boleh mengabaikan langkah ini.