Rumah  >  Soal Jawab  >  teks badan

Fail statik seperti css tidak boleh ditemui dalam django

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

伊谢尔伦伊谢尔伦2686 hari yang lalu937

membalas semua(1)saya akan balas

  • ringa_lee

    ringa_lee2017-06-12 09:22:32

    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:

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

    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 runserverJika anda menggunakan ./manage.py runserver untuk menguji, anda boleh mengabaikan langkah ini.

    balas
    0
  • Batalbalas