/ / Django and Bootstrap: problema na página de recarga offline (netdna.bootstrapcdn.com) - django, twitter-bootstrap-3, offlineapps

Django e Bootstrap: problema da página de recarga offline (netdna.bootstrapcdn.com) - django, twitter-bootstrap-3, offlineapps

Eu tenho um projeto Django que trabalho. Eu tenho "bootstrapped" um pouco usando no meu base_html:

{% load bootstrap3 %}
{% bootstrap_css %}
{% bootstrap_javascript %}
{# Display django.contrib.messages as Bootstrap alerts #}
{% bootstrap_messages %}

dentro 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",
)

Perfeito, se eu navegar entre as páginas usando meus botões & co. parece bootstrapped e tudo está bem!

MAS...

Notei que se meu pc está offline, (apenas) quando eu recarregar a página (ou eu uso em alguns js parent.window.location.reload (true);), parece não bootstrapped! Além disso, notei que quando estou on-line e recarrego a página, o navegador procura netdna.bootstrapcdn.com ... mas esse não é meu objetivo: eu tenho que criar um projeto que funcione desligada.

Como posso resolver o problema de recarga?

Respostas:

2 para resposta № 1

As configurações padrão de django-bootstrap3 apontar para CDNs como documentado:

# 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/",
...

Você deve armazenar os arquivos relacionados em seu static diretório e definir o jquery_url e base_url configurações de bootstrap3. Por exemplo:

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",

Uma maneira alternativa seria codificar o código css e js localizações nos seus modelos, como:

<link href="{% static "css/bootstrap.min.css" %}" rel="stylesheet" type="text/css"/>
<link href="{% static "css/bootstrap.theme.min.css" %}" rel="stylesheet" type="text/css"/>
<script src="{% static "js/bootstrap.min.js" %}"></script>

0 para resposta № 2

Se você não tiver o cache ativado em seu navegador, ele não armazenará o CSS e o JS baixados do CDN. Para evitar isso,

  1. Ativar o armazenamento em cache no seu navegador
  2. Baixe o bootstrap minificado css e js e coloque-os no diretório estático do seu projeto. Em seguida, faça um link para eles como <script src="{% static "bootstrap.min.js" %}"></script>. Se você seguir esse caminho, não se esqueça de publicar seus arquivos estáticos.