这一节我们来了解模板和视图、URL的使用。

  一.使用模板

  在blog目录中新建templates文件夹,在templates文件夹下新建base.html文件。目录结构如下

templates/
base.html

  编写base.html文件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>
{% block title %}
{% endblock %}
</title>
</head>
<body>
<h1>a simple blog</h1>
{% block content %}
{% endblock %}
{% block footer %}
<p>Thanks for visiting my site!</p>
{% endblock %}
</body>
</html>

  base.html定义了一个简单的html框架,接下来将在所有的页面中使用。

  在templates目录下新建blog_list.html

{% extends "base.html" %}

{% block title %} blog list {% endblock %}

{% block content %}
<div class="content">
{% for blog in blogs %}
<h3>{{ blog.caption }}</h3>
<div>{{ blog.content}} </div>
{% endfor %}
</div>
{% endblock %}
  二.配置视图文件

  在blog目录中编辑views.py

from django.shortcuts import render_to_response
from blog.models import Blog def blog_list(request):
blogs = Blog.objects.all()
return render_to_response("blog_list.html", {"blogs": blogs})
  三.配置url

  在web目录中编辑urls.py

urlpatterns = patterns('',
# Examples:
# url(r'^$', 'web.views.home', name='home'),
# url(r'^blog/', include('blog.urls')), url(r'^admin/', include(admin.site.urls)),
url(r'^web/',include('blog.urls')),
)

  在blog目录中添加urls.py 文件

from django.conf.urls import *

urlpatterns = patterns(('blog.views'),
url(r'^bloglist/$', 'blog_list', name='bloglist'),
)

  使用admin添加几个tag、blog、和author,最后运行服务器,打开127.0.0.1:8000/web/bloglist,显示如下界面

  四、添加博客展示页面

  在templates目录中添加blog_show.html。

{% extends "base.html" %}

{% block title %} {{ blog.caption }} {% endblock %}

{% block content %}
<div class="content">
  <h2>blog show</h2>
<h4>{{ blog.caption }}</h4>
<div>{{ blog.content }} </div>
</div>
{% endblock %}

  在views.py文件中添加blog_show视图函数

from django.http import Http404

def blog_show(request, id=''):
try:
blog = Blog.objects.get(id=id)
except Blog.DoesNotExist:
raise Http404
return render_to_response("blog_show.html", {"blog": blog})

  修改blog目录下面的urls.py ,添加如下内容

url(r'^blog/(?P<id>\d+)/$','blog_show',name='detailblog'),

  修改blog_list.html

 <h3>{{ blog.caption }}</h3>

  将其改为

 <h3>
<a href="{% url 'detailblog' blog.id %}">
{{ blog.caption }}
</a>
</h3>

  特别注意的是detailblog一定要带上单引号,再次刷新下blog_list页面,博客标题就便成了链接。

  

 

  

  

  

最新文章

  1. LODProp3D实例
  2. Eclipse 的单步调试
  3. Spring MVC静态资源处理(转)
  4. 转:能和LoadRunner匹敌的VS2010/2012Web负载测试
  5. python——复制目录结构小脚本
  6. [转]qt中文乱码问题
  7. ListView返回选中的多项目
  8. MySQL常见错误类型
  9. JS实例(二)
  10. 持续集成环境(Gitlab+jenkins+shell)
  11. python 格式化日期
  12. Java设置的读书笔记和集合框架Collection API
  13. CEOI 2014 wall (最短路)
  14. thinkphp3.2.3 版本使用redis缓存添加认证
  15. Java常见算法整理
  16. 【JDK1.8】JDK1.8集合源码阅读——LinkedList
  17. table-cell实现未知宽高图片,文本水平垂直居中在div
  18. 发布利用 Qt Assistant来做帮助系统的程序遇到的问题
  19. 如果这样来理解HTTPS,一篇就够了!
  20. 性能瓶颈之System

热门文章

  1. 转: requestAnimationFrame,Web中写动画的另一种选择
  2. 操作native window的QxtWindowSystem (好像是一个IM的一部分)
  3. 10个必备的移动UI设计资源站
  4. libmemcached安装及简单例子
  5. POJ2352:Stars
  6. [置顶] 【GBT28181开发:SIP协议实践】之设备远程启动
  7. Android 开发UI牛博[转]
  8. Boost源代码学习---shared_ptr.hpp
  9. js 触摸事件
  10. django datetime format 日期格式化