正式编写template

在template文件夹下增加base.html, 并在其中增加如下代码

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta name="description" content="A layout example that shows off a blog page with a list of posts.">
  7. <title>Andrew Liu Blog</title>
  8. <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css">
  9. <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/grids-responsive-min.css">
  10. <link rel="stylesheet" href="http://picturebag.qiniudn.com/blog.css">
  11. </head>
  12. <body>
  13. <div id="layout" class="pure-g">
  14. <div class="sidebar pure-u-1 pure-u-md-1-4">
  15. <div class="header">
  16. <h1 class="brand-title">Andrew Liu Blog</h1>
  17. <h2 class="brand-tagline">雪忆 - Snow Memory</h2>
  18. <nav class="nav">
  19. <ul class="nav-list">
  20. <li class="nav-item">
  21. <a class="pure-button" href="https://github.com/Andrew-liu">Github</a>
  22. </li>
  23. <li class="nav-item">
  24. <a class="pure-button" href="http://weibo.com/dinosaurliu">Weibo</a>
  25. </li>
  26. </ul>
  27. </nav>
  28. </div>
  29. </div>
  30. <div class="content pure-u-1 pure-u-md-3-4">
  31. <div>
  32. <div class="footer">
  33. <div class="pure-menu pure-menu-horizontal pure-menu-open">
  34. <ul>
  35. <li>a href="http://andrewliu.tk/about/">About Me</a></li>
  36. <li>a href="http://twitter.com/yuilibrary/">Twitter</a></li>
  37. <li>a href="http://github.com/yahoo/pure/">GitHub</a></li>
  38. </ul>
  39. </div>
  40. </div>
  41. </div>
  42. </div>
  43. </div>
  44. </body>
  45. </html>

其中

  • {% for in list> %}与{% endfor %}成对存在, 这是template中提供的for循环tag
  • {% if %} {% else %} {% endif %}是template中提供的if语句tag
  • template中还提供了一些过滤器然后修改my_blog/article/view.py, 并删除test.html
  1. # -*- coding: utf-8 -*-
  2. from django.shortcuts import render
  3. from django.http import HttpResponse
  4. from article.models import Article
  5. from datetime import datetime
  6. # Create your views here.
  7. def home(request):
  8. post_list = Article.objects.all() #获取全部的Article对象
  9. return render(request, 'home.html', {'post_list' : post_list})

修改my_blog/my_blog/urls.py

  1. from django.conf.urls import patterns, include, url
  2. from django.contrib import admin
  3. urlpatterns = patterns('',
  4. # Examples:
  5. # url(r'^$', 'my_blog.views.home', name='home'),
  6. # url(r'^blog/', include('blog.urls')),
  7. url(r'^admin/', include(admin.site.urls)),
  8. url(r'^$', 'article.views.home'),
  9. )

现在重新打开http://127.0.0.1:8000/, 发现Blog的整理框架已经基本完成, 到现在我们已经了解了一些Django的基本知识, 搭建了简单的Blog框架, 剩下的就是给Blog添加功能。

d9

查看当前整个程序的目录结构:

  1. my_blog
  2. ├── article
  3. ├── __init__.py
  4. ├── __pycache__
  5. ├── __init__.cpython-34.pyc
  6. ├── admin.cpython-34.pyc
  7. ├── models.cpython-34.pyc
  8. └── views.cpython-34.pyc
  9. ├── admin.py
  10. ├── migrations
  11. ├── 0001_initial.py
  12. ├── __init__.py
  13. └── __pycache__
  14. ├── 0001_initial.cpython-34.pyc
  15. └── __init__.cpython-34.pyc
  16. ├── models.py
  17. ├── tests.py
  18. └── views.py
  19. ├── db.sqlite3
  20. ├── manage.py
  21. ├── my_blog
  22. ├── __init__.py
  23. ├── __pycache__
  24. ├── __init__.cpython-34.pyc
  25. ├── settings.cpython-34.pyc
  26. ├── urls.cpython-34.pyc
  27. └── wsgi.cpython-34.pyc
  28. ├── settings.py
  29. ├── urls.py
  30. └── wsgi.py
  31. └── templates
  32. ├── base.html
  33. └── home.html