Bootstrap

Bootstrap是最流行的HTML和CSS框架之一,它可以用来开发炫酷的网站:https://getbootstrap.com/ 起初,它由Twitter的程序员编写,现在由来自世界各地的志愿者写的。

安装 Boostrap

要将它添加到你的 .html 文件的 <head> 中:blog/templates/blog/post_list.html

  1. <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  2. <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">

20170827150381014247770.png
这个时候我们已经可以看到一些变化了。
不过我们这次不用这个,下次研究一下具体怎么用,能实现什么。

Django的静态文件放在static

  1. djangogirls
  2. ├── blog
  3. ├── migrations
  4. └── static
  5. └── mysite

Django会自动找到你应用文件夹目录下所有名字叫“static”的文件夹,并能够使用其中的静态文件。

创建一个CSS文件

blog 目录下面创建一个目录 static再再下面创建一个目录css再在里面创建一个 名为 blog.css的文件。

  1. djangogirls
  2. └─── blog
  3. └─── static
  4. └─── css
  5. └─── blog.css

加载 static

blog/templates/blog/post_list.html的最前面,也就是<html>的前面加上下面的代码。

  1. {% load staticfiles %}

非常重要 如果不加在最前面会报个这样的错误、
20170827150381152565032.png

链接CSS

  1. <link rel="stylesheet" href="{% static 'css/blog.css' %}">

最后,post_list.html 看起来是这样的

  1. {% load staticfiles %}
  2. <html>
  3. <head>
  4. <title>末伏的博客</title>
  5. <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  6. <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
  7. <link rel="stylesheet" href="{% static 'css/blog.css' %}">
  8. </head>
  9. <body>
  10. <div>
  11. <h1>
  12. <a href="">末伏的博客</a>
  13. </h1>
  14. </div>
  15. {% for post in posts %}
  16. <div>
  17. <p>published: {{ post.published_date }}</p>
  18. <h1><a href="">{{ post.title }}</a></h1>
  19. <p>{{ post.text|linebreaksbr }}</p>
  20. </div>
  21. {% endfor %}
  22. </body>
  23. </html>

编辑CSS

在在 blog/templates/blog/post_list.html< head > 中加上google的字体。现在可以去网站https://fonts.google.com/ 找自己喜欢的字体了。选好后点击字体,然后会有方法,告诉如何使用。

  1. <link href="https://fonts.googleapis.com/css?family=Baloo+Tammudu" rel="stylesheet">

到CSS文件 blog/static/css/blog.cssh1 a 添加一个样式。

  1. h1 a {
  2. color: #16A085;
  3. font-family: 'Baloo Tammudu', cursive;
  4. }

20170827150381320577251.png

标题

添加一个称为 page-header 的类到您的 div中,其中包含您的标题,像这样:

  1. <div class="page-header">
  2. <h1><a href="/">末伏的博客</a></h1>
  3. </div>

文章

将包含一篇博客文章的类post添加到您的 div

  1. <div class="post">
  2. <p>published: {{ post.published_date }}</p>
  3. <h1><a href="">{{ post.title }}</a></h1>
  4. <p>{{ post.text|linebreaksbr }}</p>
  5. </div>

全部CSS

blog/static/css/blog.css 写在这个文件。

  1. .page-header {
  2. background-color: #16A085;
  3. margin-top: 0;
  4. padding: 20px 20px 20px 40px;
  5. }
  6. .page-header h1, .page-header h1 a, .page-header h1 a:visited, .page-header h1 a:active {
  7. color: #ffffff;
  8. font-size: 36pt;
  9. text-decoration: none;
  10. }
  11. .content {
  12. margin-left: 40px;
  13. }
  14. h1, h2, h3, h4 {
  15. font-family: 'Baloo Tammudu', cursive;
  16. }
  17. .date {
  18. float: right;
  19. color: #16A085;
  20. }
  21. .save {
  22. float: right;
  23. }
  24. .post-form textarea, .post-form input {
  25. width: 100%;
  26. }
  27. .top-menu, .top-menu:hover, .top-menu:visited {
  28. color: #ffffff;
  29. float: right;
  30. font-size: 26pt;
  31. margin-right: 20px;
  32. }
  33. .post {
  34. margin-bottom: 70px;
  35. }
  36. .post h1 a, .post h1 a:visited {
  37. color: #000000;
  38. }

然后将文章的HTML代码用类声明包裹起来。替换以下内容:

  1. {% for post in posts %}
  2. <div class="post">
  3. <p>published: {{ post.published_date }}</p>
  4. <h1><a href="">{{ post.title }}</a></h1>
  5. <p>{{ post.text|linebreaksbr }}</p>
  6. </div>
  7. {% endfor %}

blog/templates/blog/post_list.html 是这样的:

  1. <div class="content container">
  2. <div class="row">
  3. <div class="col-md-8">
  4. {% for post in posts %}
  5. <div class="post">
  6. <div class="date">
  7. {{ post.published_date }}
  8. </div>
  9. <h1><a href="">{{ post.title }}</a></h1>
  10. <p>{{ post.text|linebreaksbr }}</p>
  11. </div>
  12. {% endfor %}
  13. </div>
  14. </div>
  15. </div>