gpt4 book ai didi

python - 使用 Django 将静态文件导入模板

转载 作者:行者123 更新时间:2023-11-28 08:10:37 24 4
gpt4 key购买 nike

我在将 CSS 文件加载到 HTML 模板时遇到问题。以下是我正在处理的涉及的文件。谁能看出为什么 CSS 无法加载?

settings.py

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

STATIC_ROOT = 'staticfiles'

STATIC_URL = '/static/'

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

words.html

{% load staticfiles %}

<link rel="stylesheet" type="text/css" href="{% static 'hello/words.css' %}" />

urls.py

urlpatterns = patterns('',
url(r'^
url(r'^Words', hello.views.index, name='index'),
url(r'^db', hello.views.db, name='db'),
url(r'^Add', hello.views.create, name='create'),
url(r'^admin/', include(admin.site.urls)),
)

urlpatterns += staticfiles_urlpatterns()

words.css

 .pri {
color: blue;
}, hello.views.index, name='index'),

元素结构

murmurwall/
├── Procfile
├── README.md
├── hello
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── __pycache__
│   │   ├── __init__.cpython-34.pyc
│   │   ├── admin.cpython-34.pyc
│   │   ├── forms.cpython-34.pyc
│   │   ├── models.cpython-34.pyc
│   │   └── views.cpython-34.pyc
│   ├── admin.py
│   ├── admin.pyc
│   ├── forms.py
│   ├── forms.pyc
│   ├── management
│   │   └── commands
│   │   ├── CSV
│   │   │   └── Pretty\ Little\ Liars.csv
│   │   ├── __pycache__
│   │   │   └── update_words.cpython-34.pyc
│   │   └── update_words.py
│   ├── models.py
│   ├── models.pyc
│   ├── static
│   │   └── hello
│   │   └── words.css
│   ├── templates
│   │   ├── add_word.html
│   │   ├── base.html
│   │   ├── db.html
│   │   └── words.html
│   ├── tests.py
│   ├── views.py
│   └── views.pyc
├── manage.py
├── murmurwall
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── __pycache__
│   │   ├── __init__.cpython-34.pyc
│   │   ├── settings.cpython-34.pyc
│   │   ├── urls.cpython-34.pyc
│   │   └── wsgi.cpython-34.pyc
│   ├── settings.py
│   ├── settings.pyc
│   ├── static
│   │   └── humans.txt
│   ├── urls.py
│   ├── urls.pyc
│   ├── wsgi.py
│   └── wsgi.pyc
├── requirements.txt
├── runtime.txt
└── staticfiles
├── admin
│   ├── css
│   │   ├── base.css
│   │   ├── changelists.css
│   │   ├── dashboard.css
│   │   ├── forms.css
│   │   ├── ie.css
│   │   ├── login.css
│   │   ├── rtl.css
│   │   └── widgets.css
│   ├── img
│   │   ├── changelist-bg.gif
│   │   ├── changelist-bg_rtl.gif
│   │   ├── default-bg-reverse.gif
│   │   ├── default-bg.gif
│   │   ├── deleted-overlay.gif
│   │   ├── gis
│   │   │   ├── move_vertex_off.png
│   │   │   └── move_vertex_on.png
│   │   ├── icon-no.gif
│   │   ├── icon-unknown.gif
│   │   ├── icon-yes.gif
│   │   ├── icon_addlink.gif
│   │   ├── icon_alert.gif
│   │   ├── icon_calendar.gif
│   │   ├── icon_changelink.gif
│   │   ├── icon_clock.gif
│   │   ├── icon_deletelink.gif
│   │   ├── icon_error.gif
│   │   ├── icon_searchbox.png
│   │   ├── icon_success.gif
│   │   ├── inline-delete-8bit.png
│   │   ├── inline-delete.png
│   │   ├── inline-restore-8bit.png
│   │   ├── inline-restore.png
│   │   ├── inline-splitter-bg.gif
│   │   ├── nav-bg-grabber.gif
│   │   ├── nav-bg-reverse.gif
│   │   ├── nav-bg-selected.gif
│   │   ├── nav-bg.gif
│   │   ├── selector-icons.gif
│   │   ├── selector-search.gif
│   │   ├── sorting-icons.gif
│   │   ├── tooltag-add.png
│   │   └── tooltag-arrowright.png
│   └── js
│   ├── LICENSE-JQUERY.txt
│   ├── SelectBox.js
│   ├── SelectFilter2.js
│   ├── actions.js
│   ├── actions.min.js
│   ├── admin
│   │   ├── DateTimeShortcuts.js
│   │   └── RelatedObjectLookups.js
│   ├── calendar.js
│   ├── collapse.js
│   ├── collapse.min.js
│   ├── core.js
│   ├── inlines.js
│   ├── inlines.min.js
│   ├── jquery.init.js
│   ├── jquery.js
│   ├── jquery.min.js
│   ├── prepopulate.js
│   ├── prepopulate.min.js
│   ├── timeparse.js
│   └── urlify.js
├── hello
│   └── words.css
└── humans.txt

最佳答案

您的 STATIC_ROOT = 'staticfiles' 需要是静态文件的绝对路径。例如 STATIC_ROOT = os.path.join(PROJECT_ROOT, STATIC_URL.strip("/"))。这可能必须更改以进行部署。我用于 openshift 的示例:
如果 os.environ 中的“OPENSHIFT_REPO_DIR”:
STATIC_ROOT = os.path.join(os.environ.get('OPENSHIFT_REPO_DIR'), 'wsgi', 'static')
别的:
STATIC_ROOT = os.path.join(PROJECT_ROOT, STATIC_URL.strip("/"))

另见 django static static url static root

关于python - 使用 Django 将静态文件导入模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29290069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com