簡體   English   中英

如何在python Django中加載靜態文件

[英]How to load static files in python django

我試圖在settings.py文件中進行修改,以允許加載css文件,但是某些html代碼仍未顯示其樣式,請在終端中運行命令“ python manage.py collectstatic”,並說文件是復制,但仍未顯示其效果。

這是settings.py文件中的修改行

STATIC_ROOT = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]
STATIC_URL = '/static/'

在您的settings.py中提供:

STATICFILES_FINDERS = [
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]


BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static_files'),
                   )
STATIC_ROOT = os.path.join(BASE_DIR, 'static', )
STATIC_URL = 'http://example.com/static/'

因此,如果定義了靜態文件查找器,並且將static_files聲明為靜態文件的源,則無論放置在哪里

/your_root/static_files/ 

將進入

/your_root/static 

跑步后

python manage.py collectstatic

與錯誤

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

是您要嘗試從中獲取並帶到同一目錄,該目錄是所收集的所有靜態文件的目標目錄。

最好設置STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')

如果在BASE_DIR中有一個名為static的文件夾,請添加

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

您可以在運行python manage.py collectstatic之后將static_root/添加到.gitignore文件中

我使用的方式是:

  1. 創建一個static / name_of_app目錄,我在其中存儲我的靜態文件

2.在HTML

首先加載靜態文件{%加載靜態%}

然后鏈接到路​​徑

href =“ {%static'name_of_app / fileName'%}”

您可以在最新的Django版本中將這些代碼添加到settings.py中

STATIC_URL ='/靜態/'

MEDIA_URL ='/ media /'

STATICFILES_DIRS = [os.path.join(BASE_DIR,'static_in_env')]

VENV_PATH = os.path.dirname(BASE_DIR)

STATIC_ROOT = os.path.join(VENV_PATH,'static_root')

MEDIA_ROOT = os.path.join(VENV_PATH,'media_root')

暫無
暫無

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

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