簡體   English   中英

Django Static 文件未加載到模板中,但它們存在

[英]Django Static Files not loaded in template but they are there

我是 Django 和 web 開發的新手,並且正在努力處理 Static 文件。 我以前在這里看到過這個或類似的問題,但似乎沒有什么能給我帶來解決方案。 問題是:我可以在 Django 中找到 static 文件,但它們沒有在模板中加載。

我的文件夾結構如下(所有內容都在一個名為 Django 的文件夾中):

media_root_folder
static_root_folder
Project
   Project
   manage.py
   mysite
      __init__.py
      asgi.py
      settings.py
      urls.py
      wsgi.py
   templates
   static
      admin
      Project
         style.css

在 Settings.py 我有以下內容:

DEBUG = True    
STATIC_URL = 'static/'
STATIC_ROOT = os.path.abspath(r'E:\LM\Django\static_root_folder')
STATICFILES_DIRS = [
    BASE_DIR / "static"
]    
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
 )

'django.contrib.staticfiles' 以及項目添加到 INSTALLED_APPS

我什至還添加了這個(我在 Django 論壇中發現這有時可以解決問題):

import mimetypes

mimetypes.add_type("text/css",".css", True)

在 urls.py 我相應地添加了

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

在我的模板中,我正在使用:

{% load static %}
<link rel="stylesheet" type="text/css" href=" {% static 'Project/style.css' %} ">

如果我運行 manage.py findstatic 它會找到文件,我也可以直接在瀏覽器中打開它們。 但是,如果我 manage.py runserver 並加載我的網站(即使在隱身模式下並在清除緩存后以及在多個瀏覽器中),則 CSS 根本不會用於該頁面。 我只能看到普通的 html。

如果我加載 django/admin 端,css 會被加載並清楚地呈現。

我做錯了什么,如何解決?

您是否嘗試使用collectstatic管理命令?

$ python manage.py collectstatic

https://docs.djangoproject.com/en/4.0/ref/contrib/staticfiles/

問題是,在每個模板中,我都在擴展 base.html。 當我在 base.html 中加載 CSS 時,它沒有任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM