码迷,mamicode.com
首页 > 其他好文 > 详细

django 开发简易博客(二)

时间:2015-08-08 16:19:27      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

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

  一.使用模板

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

技术分享
templates/
    base.html
View Code

  编写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>
View Code

  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 %}
View Code
  二.配置视图文件

  在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})
View Code
  三.配置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)),
)
View Code

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

技术分享
from django.conf.urls import *

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

  使用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 %}
View Code

  在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})
View Code

  修改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页面,博客标题就便成了链接。

  

 

 

 

  

  

  

django 开发简易博客(二)

标签:

原文地址:http://www.cnblogs.com/fireflow/p/4713297.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!