django 开发简易博客(二)
这一节我们来了解模板和视图、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页面,博客标题就便成了链接。
django 开发简易博客(二)的更多相关文章
- django开发简易博客(一)
这几篇博客是根据GoodSpeed的博客该写的,看了他的博客收获很大,但是他的博客从第三篇开始,条理很不清晰,加之又是几年之前写的,编写环境发生很大改变,所以对他的博客进行了一个整理,加入了一些自己的 ...
- django开发简易博客(四)
上一节,我们讲述了怎么使用静态文件,并使用bootstrap对页面进行了美化,这一节我们将增强我们blog的功能,添加发表博客,删除博客的功能. 一.表单的使用 要实现添加blog的功能,就得使用表单 ...
- django开发简易博客(五)
这一节将讲述如何添加comments库与ajax的支持. 一.添加comments库 comments库是是django框架内置的一个评论库,可以快速的搭建岀一个评论系统,不过再自定义方面有些麻烦,不 ...
- django开发简易博客(三)
一.静态文件的使用 首先,新建static目录,目录下分别建立css.js.img三个子目录 修改settings.py文件 STATICFILES_DIRS = ( 'F:/web/static', ...
- Django搭建简易博客
Django简易博客,主要实现了以下功能 连接数据库 创建超级用户与后台管理 利用django-admin-bootstrap美化界面 template,view与动态URL 多说评论功能 Markd ...
- Django开发个人博客入门学习经验贴
[写在前面] 入门学习搭建个人博客系统首先还是参考大佬们的经验,记得刚入手Django的时候,一篇博客大佬说过一句话,做技术的不要一开始就扎头于细节中,先把握整体框架,了解这个对象之后再去了解细节,进 ...
- Django 搭建简易博客
新增一个 APP 博客算是一个功能集,因此我们应将其体现为一个模块.这表现在 Django 应用里则是为其创建一个 APP Package.现在让 manage.py 中的 startapp 闪亮登场 ...
- 实战Django:简易博客Part1
舍得学习新技能的时候,通常不喜欢傻读书--捧着一本阐述该项技能的书籍,然后傻看,一路看下来,脑子里塞满了新的概念.知识点,头是越来越大,但技能却几乎没掌握半分. 多年来,舍得养成了用做实例来学习新技能 ...
- Django开发简单博客流程
什么是Django? Django是一个基于python的高级web开发框架 它能够让开发人员进行高效且快速的开发 高度集成(不用自己造轮子), 免费并且开源 当前路径创建工程 django-admi ...
随机推荐
- linux 6.4平台利用rman迁移oracle 11g r2数据库
测试环境分别在虚拟机安装A,B主机 系统:linux 6.4, 数据库:oracle 11g r2 A主机:安装oracle 11g r2数据库 B主机:只安装oracle 11g r2软件 第一步, ...
- Noip2013心态调整
决定成绩的,很多时候可能不是实力,而是心态,一年走来,承受着一次次失败,怀疑,背负着希望与压力,突然发现,只有拥有过,失去过,才可以真正去超越,我希望完成我的梦想,但是唯有放下梦想,才可以走向它. 心 ...
- 第一章 什么是SQL Server Integration Services (ssis) 系统。
note:我也是刚入门的菜鸟,让我们大家一块学习SSIS系统,工作中需要用到SSIS.您的浏览是我更新的最大动力,谢谢! SSIS是Microsoft SQL Server Integration ...
- JS年月日三级联动下拉框日期选择代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- NSArray 与 NSMutableArray 的排序
由于集合的使用过程中,经常需要对数组进行排序操作,此博客用于总结对在OC中对数组排序的几种方法 1.当数组中存放的是Foundation框架中提供的对象时,直接使用 compare:方法 如:NSSt ...
- 【SVN】使用花生壳映射VisualSVN外网地址
内网端口设置为443,花生壳映射设置的时候不能使用80端口,,需要用其他端口,,
- U3D 自带navmesh自动寻路教学
网易博客转载 博主:啊赵 unity自带寻路Navmesh入门教程(一) 说明:从今天开始,我阿赵打算写一些简单的教程,方便自己日后回顾,或者方便刚入门的朋友学习.水平有限请勿见怪.不过请尊重码字截图 ...
- [Jobdu] 题目1283:第一个只出现一次的字符
题目描述: 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符. 输入: 输入有多组数据每一组输入一个字符串. 输出: 输出第一个只出现一次的字 ...
- UVa1225 Digit Counting
#include <stdio.h>#include <string.h> int main(){ int T, N, i, j; int a[10]; sc ...
- JavaEE学习之类加载器
类装载子系统 在JAVA虚拟机中,负责查找并装载类型的那部分被称为类装载子系统. JAVA虚拟机有两种类装载器:启动类装载器和用户自定义类装载器.前者是JAVA虚拟机实现的一部分,后者则是Java程序 ...