django构建blog--页面部分(eclipse+pydev)
本文介绍的是在eclipse+pydev 平台下,利用django 搭建blog的第2部分:页面部分(主要涉及3个部分:模板、视图、URL模式)
篇幅1:创建模板
blog目录下新建一个文件夹:templates,添加archive.html文件,让其显示所有blog的内容,代码如下:
{% for post in posts %}
<h2>{{post.title}}</h2>
<p>{{post.timestamp}}</p>
<p>{{post.body}}</p>
{% endfor %}
篇幅2:创建视图函数
from blog.models import BlogPost
from django.template import Context,loader
from django.http import HttpResponse # Create your views here. def archive(request):
posts=BlogPost.objects.all()
t=loader.get_template("archive.html")
c=Context({'posts':posts})
return HttpResponse(t.render(c))
篇幅3:创建一个URL模式
1 myweb.urls.py文件进行编辑如下:
from django.conf.urls import include, url
from django.contrib import admin urlpatterns = [
# Examples:
# url(r'^$', 'myweb.views.home', name='home'),
url(r'^blog/', include('blog.urls')), url(r'^admin/', include(admin.site.urls)),
]
2 在blog下新建urls.py文件,并进行编辑,如下:
#coding=utf-8
from django.conf.urls import url,patterns
from blog.views import archive urlpatterns=patterns('',
url(r'^$',archive) )
访问页面查看效果:http://127.0.0.1:8000/blog/
篇幅4: 优化页面-模板+日期显示和排序
1. 设置一个base.html模板,templates下新建base.html文件,编辑如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style>
body{color:#efd;background:#453;padding:0.5em;margin:0}
h2{color:#bf8;border-top:1px dotted #fff;margin-top:2em}
p{} </style>
</head>
<body>
{%block content%}
{%endblock%}
</body>
</html>
2. 修改archive.html模板,让其引用base.html模板和它的“content”块,编辑如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title></title>
</head>
<body>
{%extends "base.html"%}
{%block content%}
{% for post in posts %}
<h2>{{post.title}}</h2>
<p>{{post.timestamp"}}</p>
<p>{{post.body}}</p>
{% endfor %}
{%endblock%}
</body>
</html>
再次访问页面:http://127.0.0.1:8000/blog/
3. 按日期排序,修改blog.models.py文件,增加如下代码class Meta:ordering=('-timestamp',)
from django.db import models
from django.contrib import admin # Create your models here.
class BlogPost(models.Model):
title=models.CharField(max_length=)
body=models.TextField()
timestamp=models.DateTimeField()
class Meta:
ordering=('-timestamp',) class BlogPostAdmin(admin.ModelAdmin):
list_display=('title','timestamp') admin.site.register(BlogPost,BlogPostAdmin)
查看页面
4. 优化日期显示,属于表现层的内容,修改archive.html文件中日期部分即可
<p>{{post.timestamp|date:"Y-m-d H:i:s"}}</p>
django构建blog--页面部分(eclipse+pydev)的更多相关文章
- django构建blog--建立数据库部分+admin部分(eclipse+pydev)
本文介绍的是在eclipse+pydev 平台下,利用django 搭建blog的第1部分:建立数据库+admin部分 步骤一:创建myweb项目+blog应用 1. Eclipse下新建一个djan ...
- Python开发环境(3):使用Eclipse+PyDev插件创建Django项目
OS:Windows 10家庭中文版,Python:3.6,Eclipse:Oxygen.1a Release (4.7.1a), PyDev:6.3.2,Django:2.0.3 本文展示了怎么使用 ...
- 【转】Eclipse+PyDev 安装和配置
原文网址:http://www.51testing.com/html/67/589567-866611.html Python开发有很多工具,其中Eclipse+Pydev 是最常见的一种.本文简单介 ...
- Python集成开发环境(Eclipse+Pydev)
刚開始学习python,就用Editplus, Notepad++来写小程序, 后来接触了Sublime Text2.认为很不错,没事写写代码.就用编辑器Sublime Text2,最好再配搭一个ap ...
- 【转】使用Python的IDE:Eclipse+PyDev
原文网址:http://www.crifan.com/try_with_python_ide_eclipse_pydev/ 之前已经介绍过了一些基本知识: [整理][多图详解]如何在Windows下开 ...
- Django架设blog步骤
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- Django架设blog步骤(转)
最近在研究Python,起初是因为想做个爬虫,昨天看了点基础教程,台湾辅仁大学的视频,了解了python的语法规范及语言特性,主要有三: 1.动态脚本语言: 2.语法简洁,强制缩进: 3.应用广泛,w ...
- Python+selenium+eclipse+pydev自动化测试环境搭建
一. 安装python 1.下载安装python 可访问python的官方网站:http://www.Python.prg找到下载页面下载需要的版本,可下载python2.x或者pyth ...
- Django实现注册页面_头像上传
Django实现注册页面_头像上传 Django实现注册页面_头像上传 1.urls.py 配置路由 from django.conf.urls import url from django.cont ...
随机推荐
- Elipse安装Spring Tool Suite
STS实际上是对Eclipse的Spring包装,下载STS IDE可以直接开发spring web. 但大多数人还是喜欢使用eclipse.下面就eclipse安装sts插件做个介绍. 1.首先到s ...
- IE中console的正确使用方法
本文出处原文链接 转载请注明出处 http://www.cnblogs.com/havedream/p/4519538.html 问题来源:最近在学习easyui,观看的视频教程是孙宇的<EAS ...
- BGP学习笔记
源自红茶三杯: BGP应用于大规模网络或运营商,用作在AS间传递路由信息 使用BGP的三大理由 1. 大量路由需要承载, IGP只能容纳千条,而BGP可以容纳上万(应该是IGP结合BGP使用?) 2. ...
- 配置NTP服务ntpd/ntp.conf(搭建Hadoop集群可参考)
本文拟定是在一个局域网内(比如一个Hadoop集群)设定一台NTP服务器作为整个网络的标准时间参考,使用网络(集群)内的所有机器保持时间一致!以下是详细的操作步骤: 1. 修改选定的服务器的本地时间 ...
- Linux学习-0626
6.26 Linux的安装1.下载镜像包.iso,启动时设置光盘的包是安装包,就可以看到完成安装流程 安装CentOS 5.52.安装时分区,swap分区,根分区... Linux管理工具:1.Sec ...
- 算法系列9《MD5》
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已有MD5实现. ...
- JAVA基础-子类继承父类实例化对象过程
之前在项目中碰到这样一个问题: 类B继承了类A,B在实例化的时候,A的构造方法中调用了B的某个方法,并且B的方法中对B的成员属性进行了初始化,然后最后得到的B对象的成员属性为空. 代码场景如下: 这里 ...
- Oracle出现字符集问题处理方法
1. Cmd进去DOS 2. 再输入dbca(database create) 3. 弹出的界面,直接下一步,选择删除数据库 4. 成功删除后,回到一第一界面,选择创建数据库,下一步. 5. ...
- Android--发送短信,并且通知发送方
1.发送短信涉及到权限,我们需要把权限加上 2.当我们发送短信时,不管发送是否成功,接收方是否接收到,系统都会发送广播 3.这时我们注册广播去接收一下就可以了 4.布局文件很简单,里面就两个EditT ...
- hdu 2091 空心三角形
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2091 空心三角形 Description 把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为 ...