【问题标题】:How can I use Bootstrap with Django?如何在 Django 中使用 Bootstrap?
【发布时间】:2012-04-26 18:36:49
【问题描述】:

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

据我了解(我正在关注他们网站上的 Django 教程),Django 使用可以包含在您的 settings.py 文件中的“应用程序”。我快速搜索并找到了几个以引导程序为主题的应用程序,但不知道如何选择合适的应用程序。是否有大多数人使用的标准应用程序?我只需要bootstrap.cssbootstrap.js 文件。

我确信我可以手动将它们放在我的根目录中,但我会喜欢在我的 Django 安装中进行“全包”设置。

【问题讨论】:

  • 看起来@urbushey 很好地解释了直接方法的基础知识,没有任何 Django 应用程序。如果您想了解有关应用程序的更多想法,请注意 2012 年的一个问题在一年后被“关闭”,因为超出了 stackoverflow 的范围。但它有一些当时有趣的见解:stackoverflow.com/questions/11821116/…

标签: python django twitter-bootstrap


【解决方案1】:

重新阅读您的问题,您似乎正在寻找一种将 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,并在base.html 中包含{% block content %} 块,这些块可以替换为我的模板中的实际内容,即{% extend base.html %}

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

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

【讨论】:

【解决方案2】:

欢迎来到 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 - 都是我的最爱。

【讨论】:

【解决方案3】:

上面提到的答案都不适合我,我要说的最简单的方法是直接在你的 base.html 中添加 CDN,这将用于扩展,你也可以在独立/静态页面中添加它

Read here 用于引导 CDN 和集成。

【讨论】:

    【解决方案4】:

    如果你只是使用 pip 安装 twitter-bootstrap 会怎样:

    按照说明进行操作:

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

    为简单的配置。

    【讨论】:

    • 这似乎不是一个完整的答案,尽管是一个有用的提示。我认为他主要是在寻找大多数人使用的“标准主题应用”。
    • 另外,那个包好像已经被废弃了。还有一些其他人看起来在 github 上有更新的活动。它们是:github.com/dyve/django-bootstrap3(使用pip install django-bootstrap3 安装)github.com/zostera/django-bootstrap4(使用pip install django-bootstrap4 安装)
    猜你喜欢
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 2013-08-22
    相关资源
    最近更新 更多