本文介绍的是在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)的更多相关文章

  1. django构建blog--建立数据库部分+admin部分(eclipse+pydev)

    本文介绍的是在eclipse+pydev 平台下,利用django 搭建blog的第1部分:建立数据库+admin部分 步骤一:创建myweb项目+blog应用 1. Eclipse下新建一个djan ...

  2. 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 本文展示了怎么使用 ...

  3. 【转】Eclipse+PyDev 安装和配置

    原文网址:http://www.51testing.com/html/67/589567-866611.html Python开发有很多工具,其中Eclipse+Pydev 是最常见的一种.本文简单介 ...

  4. Python集成开发环境(Eclipse+Pydev)

    刚開始学习python,就用Editplus, Notepad++来写小程序, 后来接触了Sublime Text2.认为很不错,没事写写代码.就用编辑器Sublime Text2,最好再配搭一个ap ...

  5. 【转】使用Python的IDE:Eclipse+PyDev

    原文网址:http://www.crifan.com/try_with_python_ide_eclipse_pydev/ 之前已经介绍过了一些基本知识: [整理][多图详解]如何在Windows下开 ...

  6. Django架设blog步骤

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  7. Django架设blog步骤(转)

    最近在研究Python,起初是因为想做个爬虫,昨天看了点基础教程,台湾辅仁大学的视频,了解了python的语法规范及语言特性,主要有三: 1.动态脚本语言: 2.语法简洁,强制缩进: 3.应用广泛,w ...

  8. Python+selenium+eclipse+pydev自动化测试环境搭建

    一.        安装python 1.下载安装python 可访问python的官方网站:http://www.Python.prg找到下载页面下载需要的版本,可下载python2.x或者pyth ...

  9. Django实现注册页面_头像上传

    Django实现注册页面_头像上传 Django实现注册页面_头像上传 1.urls.py 配置路由 from django.conf.urls import url from django.cont ...

随机推荐

  1. css3内处理

    1.插入文字:content属性:          p:after{content:"内容"}          p:before{content:"内容"} ...

  2. IOS绘图——简单三角形

    #import <UIKit/UIKit.h> @interface MyView : UIView @end #import "MyView.h" @implemen ...

  3. [leetcode]_Longest Substring Without Repeating Characters

    问题:求一个字符串中最长不重复子串的长度. 直接思路:以每个字符为出发计算最长不重复子串.TLE.O(n2),HashMap存储字符出现的位置. 代码: public int lengthOfLong ...

  4. WordPress默认栏目设置

    WordPress是一个注重美学.易用性和网络标准的个人信息发布平台,是全球使用最多的博客系统,只需要在系统后台做一些简单的设计,基本就能实现我们日常个性化发布个人信息的需求,而博客后台的使用其实很简 ...

  5. xmpp push篇一 广播消息

    ---广播给所有人--- 1. 登录xmpp admin 账户 2. sendpacket <message to="pandans.com(域名)" > <bo ...

  6. Pycharm 使用 (一)

    学习[Python基础教程]到后面的练习阶段就觉得python自带的IDLE有点out的感觉,于是就在网上搜索好用的IDE, 挺多人推荐Pycharm的 不仅跨平台而且还支持django等框架; 初次 ...

  7. 在EF的code frist下写稳健的权限管理系统:开篇(一)

    环境:EF6.0.0.0+Autofac3.5.0.0+MVC4.0+pure6.0+Jquery IDE:vs2012,数据库:vs2008r2 搭建环境如下: 我给它取名字为cactus:仙人球, ...

  8. 不复杂的Autofac注入

    private static void SetAutofacWebAPI() { var builder = new ContainerBuilder(); #region 配置注册方法 string ...

  9. angularjs2 学习笔记(三) 服务

    在anglar2中服务是什么? 如果在项目中有一段代码是很多组件都要使用的,那么最好的方式就是把它做成服务. 服务是一种在组件中共享功能的机制,当我们使用标签将多个组件组合在一起时我们需要操作一些数据 ...

  10. C# 将DataTable装换位List<T> 泛型

    public List<T> GetList<T>(DataTable dt) where T:new() { List<T> DateLists = new Li ...