Django与Twitter Bootstrap3和主题

时间:2015-05-23 21:09:35

标签: python django twitter-bootstrap

我已经研究了很长时间并进行了实验,但我似乎无法弄清楚实现这一目标的最佳方法。我知道我做错了所以一些澄清以及一些简单的例子会有很大的帮助。

我想知道从https://wrapbootstrap.com/使用Django的bootstrap3主题。我研究了django-bootstrap3和django-bootstrap-themes包。在django-bootstrap-themes的github页面上,它表示它与bootswatch兼容。我不喜欢他们的主题所以我想知道它是否与wrapbootstrap.com主题兼容。我将从wrapbootstrap.com中选择的主题是响应式HTML主题。我想知道,如果出于个人经验,任何人都知道哪些软件包最适合使用来自wrapbootstrap.com和django的主题。

我理解可以从主题中获取样式表,脚本,将它们放入静态的各自文件夹中,并将HTML基础转换为基本模板以及其他页面。然后从CDN安装bootstrap。我知道这也可以用django-bootstrap3。但我无法在任何地方找到答案,目前最好的方法是将其中一个主题和twitter bootstrap3集成到Django网站中,以及一些快速的例子。

谢谢,任何有关这样做的建议都会有所帮助。

1 个答案:

答案 0 :(得分:10)

django-bootstrap3是一个很好的实用程序应用程序,它允许您在模板中生成较少的HTML标记,否则引导程序将起作用。它为此目的使用了一些额外的模板标签。

我发现这个包很好用,有时候我会用它,但通常是你很好地参与了引导程序后你会很感激。

django-bootstrap-themes似乎是一个应用程序,它也提供了一些模板标签,如前一个包,但显然更少。但它也允许您轻松地将Bootswatch中的主题集成到您的Django模板中,如果 ,您会发现这些模板很吸引人。除此之外我个人找不到其他理由使用它。但同样,如果它适合你,两个包可以一起使用。

一些例子:

为了让你的模板没有任何其他包进入引导程序,你必须在你的基本html文件中包含以下内容:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
{# HTML5 shiv and Respond.js for IE8 support of HTML5 elements and media queries #}
{# WARNING: Respond.js doesn't work if you view the page via file:// #}
<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->

在底部:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

使用 django-bootstrap3 这个becomes

{% load bootstrap3 %}
{% bootstrap_css %}
{% bootstrap_javascript %}

但是其他一些标记变得非常简单。例如,引导形式(参见the official docs example)将变得简单:

<form action="/url/to/submit/" method="post" class="form">
  {% csrf_token %}
  {% bootstrap_form form %}
  {% buttons %}
    <button type="submit" class="btn btn-primary">
      {% bootstrap_icon "star" %} Submit
    </button>
  {% endbuttons %}
</form>

使用 django-bootstrap-themes 加载引导程序:

{% load bootstrap_themes %}
{% bootstrap_script use_min=True %}

显然这就是你如何使用bootswatch中的一个主题:

{% bootstrap_styles theme='cosmo' type='min.css' %}

总而言之,如果您希望在模板中使用任何其他现成的引导主题,您仍然需要使用您在问题中描述的标准方法,可能使用上述某些工具在顶部。