我有一个工作的Django项目。我有" bootstrapped"它在我的 base_html 中有点使用:
{% load bootstrap3 %}
{% bootstrap_css %}
{% bootstrap_javascript %}
{# Display django.contrib.messages as Bootstrap alerts #}
{% bootstrap_messages %}
settings.py :中的
INSTALLED_APPS = (
'bootstrap_toolkit',
'bootstrap3',
'django_admin_bootstrapped.bootstrap3',
'django_admin_bootstrapped',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'jquery',
'jquery_ui',
'homepage',
'simpleapp',
)
完美,如果我使用我的按钮& co在页面之间浏览。它似乎是自助式的,一切都很好!
BUT ...
我注意到,如果我的电脑处于离线状态,(仅)当我重新加载页面时(或者我在某些js中使用 parent.window.location.reload(true); ),它似乎不引导!此外,我注意到,当我在线并重新加载页面时,浏览器会搜索 netdna.bootstrapcdn.com ... ,但这不是我的目标:我必须创建一个项目,可以离线。
如何解决重装问题?
答案 0 :(得分:4)
django-bootstrap3
的默认设置指向CDN为documented:
# Default settings
BOOTSTRAP3 = {
# The URL to the jQuery JavaScript file
'jquery_url': '//code.jquery.com/jquery.min.js',
# The Bootstrap base URL
'base_url': '//netdna.bootstrapcdn.com/bootstrap/3.3.1/',
...
您应将相关文件存储在static
目录中,并设置jquery_url
的{{1}}和base_url
设置。例如:
bootstrap3
另一种方法是将BOOTSTRAP3 = {
# The URL to the jQuery JavaScript file
'jquery_url': '/static/js/jquery.min.js',
# The Bootstrap base URL
'base_url': '/static/css/',
# The complete URL to the Bootstrap CSS file (None means derive it from base_url)
'css_url': '/static/css/bootstrap.min.css',
# The complete URL to the Bootstrap CSS file (None means no theme)
'theme_url': '/static/css/bootstrap.theme.min.css',
# The complete URL to the Bootstrap JavaScript file (None means derive it from base_url)
'javascript_url': '/static/js/bootstrap.min.js',
和css
位置硬编码到模板中,例如:
js
答案 1 :(得分:0)
如果您没有在浏览器上启用缓存,则不会存储从CDN下载的CSS和JS。为了避免这种情况,要么
<script src="{% static "bootstrap.min.js" %}"></script>
一样链接到他们。如果你走这条路,别忘了发布你的静态文件。