如何在Django中使用Bootstrap?

时间:2012-04-14 20:19:40

标签: python django twitter-bootstrap

我正在学习python和来自PHP的Django。这一切都非常令人兴奋,我很乐意使用Bootstrap和Django来创建性感的网页。

据我所知(我在他们的网站上关注Django教程),Django使用“app”,它可以包含在你的settings.py文件中。我做了一个快速搜索,发现了几个以bootstrap为主题的应用程序,但不知道如何选择正确的应用程序。是否有大多数人使用的标准应用程序?我只需要bootstrap.cssbootstrap.js个文件。

我确定我可以手动将它们放在我的根目录中,但我在Django安装中享受“全包”设置。

4 个答案:

答案 0 :(得分:63)

重新阅读你的问题,似乎你正在寻找一种方法来安装Twitter Bootstrap作为Django应用程序。虽然有一些应用程序可以方便地使用Twitter Bootstrap和Django,但你并不需要使用它们中的任何一个。

您可以在项目或应用程序级别简单地包含Twitter Bootstrap CSS和JS,并在Django模板中引用它们。

要在Django应用程序中包含Twitter Bootstrap,最好的办法是:

  1. 使用静态文件

    settings.py中,添加Bootstrap路径(您应该将其下载并放在Django应用程序中名为static的文件夹下:

    STATICFILES_DIRS = (
    
        # Put strings here, like "/home/html/static" or "C:/www/django/static".
        # Always use forward slashes, even on Windows.
        # Don't forget to use absolute paths, not relative paths.
        '/path/to/my_project/my_app/static/',
    )
    

    另外,请确保已设置STATIC_URL前缀:

    # URL prefix for static files.
    # Example: "http://media.lawrence.com/static/"
    STATIC_URL = '/static/'
    

    现在,下载Twitter Bootstrap并将其放在那里的路径中:

    /path/to/my_project/my_app/static/bootstrap/
    
  2. 在模板中加入Twitter Bootstrap

    我会链接到Twitter Bootstrap文档,但实际上并没有。你最好的办法是看看他们starter template的来源。使用Django模板系统有点超出了这个问题的范围,但我会给你这个提示:在启动器模板中找到指向.css或.js的链接的任何地方,用你的STATIC_URL替换它。

    所以:

    <link href="../assets/css/bootstrap.css" rel="stylesheet">
    

    变为

    <link href="{{ STATIC_URL }}/bootstrap/css/bootstrap.css" rel="stylesheet">
    

    我将启动器模板用作我的base.html并在{% block content %}中包含base.html块,这些块可以替换为我的模板中的实际内容{% extend base.html %}

  3. 或者,使用第三方应用来指导您

    您可能会调查Django Bootstrap Toolkit,我自己没有使用过。我建议先自己手动完成,然后,作为一种探索项目并真正了解正在发生的事情的方法。这根本不是太难!

答案 1 :(得分:4)

欢迎来到Python / Django的世界。和你一样,经过多年的PHP开发Web开发,我已经迁移到使用这种语言/框架对创建动态网站和强大的Web应用程序。

django的一个非常好的功能是它们的自动管理界面。我使用一个名为Django-Admin-Tools和django-admintools-bootstrap的应用程序,它将默认界面转换为光滑的管理员。 https://bitbucket.org/salvator/django-admintools-bootstrap

安装django应用程序或其他python模块的最简单方法是使用pip。我会读到使用virtualenv http://readthedocs.org/projects/virtualenv/来管理你的django项目。当您设置python虚拟环境时,它允许您在系统上的单独python安装中安装django应用程序和python模块。

然后,安装额外的django应用程序是轻而易举的 - pip install django-admin-tools - django grappelli - south - 都是我的最爱。

答案 2 :(得分:1)

如果您只是使用pip安装twitter-bootstrap:

按照说明操作:

https://pypi.python.org/pypi/django-twitter-bootstrap/

用于简单配置。

答案 3 :(得分:1)

以上提到的答案都没有对我有用,我要说的最简单的方法是在base.html中直接添加CDN,该CDN将用于扩展,也可以将其添加到独立/静态页面中

Read here用于引导CDN和集成。