[英]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.