9

我正在尝试让引导程序在我的 django 项目中工作,并按照这里的教程进行操作, 但它没有用。当我在浏览器中访问我的本地项目时,它只显示一个带有 4 个蓝色链接的空白页面。不是我所期待的。在 pycharm(我的 ide)中,它告诉我我的模板中有一个未解决的对 STATIC_URL 的引用。我认为问题在于仅将引导程序放在我的项目中并在我的设置中定义它是不够的。有任何想法吗?

抱歉,基本上这就是我的项目的设置方式。Main_Project/ app_1, app_2 , media/, templates/, Main_Project/ 所以我应该把 boostrap 放在第一个 Main_Project 下还是第二个

这也是我的设置,以防万一。

STATIC_ROOT = os.path.join(SITE_ROOT, 'static_files')

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

4 回答 4

16

Kevin 这里是 Python Diary 中那篇文章的作者。自从我发布该教程以来,我创建了其他在 Django 项目中启用 Bootstrap 的方法,包括一个方便的项目模板,可以从这里下载:

http://www.pythondiary.com/templates/bootstrap

我还在 BitBucket 上启动了一个项目,因为它有一个超级易于使用的 Django 引导主题应用程序,只需将其添加到您的“INSTALLED_APPS”中,然后从原始引导网站扩展任何模板,例如 starter.html 等从中选择。当然,您也可以旋转自己的引导主题。我尝试积极更新它,并正在寻找更多建议,使其成为希望在项目中使用 Bootstrap 的开发人员的“Django goto 应用程序”,BitBucket repo 可以在这里找到:

https://bitbucket.org/kveroneau/django-bootstrap-theme

希望这对可能偶然发现此 Stackoverflow 页面的其他人有所帮助。

于 2013-11-07T22:42:21.930 回答
2
  1. 首先 settings.py 中的静态 url 应该是这样的:

    STATIC_URL = '/静态/'

  2. 之后你应该在静态文件夹中创建 3 个文件夹:

    • 图像
    • css
    • js
  3. 下载 Bootstrap 并正确放入上述文件夹中的每个文件

  4. 最后在模板中导入引导程序:

    <link rel="stylesheet" type="text/css" href="{{STATIC_URL}}css/bootstrap.min.css"/>
    <link rel="stylesheet" type="text/css" href="{{STATIC_URL}}css/bootstrap-responsive.min.css"/> 
    <script type="text/javascript" src="{{STATIC_URL}}js/bootstrap.min.js"></script>
    
  5. 您应该将文件放在应用程序之外或应用程序内部,以使用您的静态文件个性化每个应用程序,区别在于静态文件的 url。

    5.1 在应用程序之外

    STATIC_URL = '/静态/'

    5.2 在每个应用程序内部:

    STATIC_URL = '/App1/static/'

    STATIC_URL = '/App2/static/'

  6. 和 STATIC_ROOT 放

    STATIC_ROOT = ''

于 2013-05-04T17:25:50.907 回答
2

项目 settings.py 文件(此行是默认的,不要更改它们):

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'

在您的应用程序文件夹中(带有 .html 文件的模板文件夹也应该在那里):

使用子文件夹(引导文件)创建文件夹“静态”,结构应如下所示:

应用文件夹结构

静态文件夹结构

在您的 html 模板文件中,像这样导入引导程序(注意 CSS 进入 头部,JS 进入正文部分):

<html>
<head>
    <title> Your title </title> 

    <!-- To prepare django for loading static files -->
    {%load staticfiles %}

    <!-- And with <link> or <script> tag you actualy import bootstrap files in page -->
    <link href={% static "css/bootstrap.min.css" %} rel="stylesheet">
</head>

<body>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src={% static "js/bootstrap.min.js" %}></script>


<p> Next your page code ............... </p>
<p> Next your page code ............... </p>
<p> Next your page code ............... </p>


</body>

于 2017-03-14T10:42:33.273 回答
0

这对我有用,我遵循了文档中的内容:

https://docs.djangoproject.com/en/1.10/howto/static-files/

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'settings'
]

...

STATIC_URL = '/static/'

放置的静态文件project/my_app/static/my_app/css/bootstrap.min.css

此处放置的模板project/my_app/templates/my_app/base.html

{% load static %}
<!DOCTYPE html>
<html lang="en">

<head>

    <!-- Bootstrap Core CSS -->
    <link href="{% static "my_app/css/bootstrap.min.css" %}" rel="stylesheet">
于 2017-03-05T00:32:23.417 回答