start pyhton project(2)

it2025-11-15  2

使用模板

在blog目录下建立templates文件夹(名字不能错),在其中建立archive.html文件作为页面显示

{%for post in posts%} <h2>{{post.title}}</h2> <p>{{post.timestamp|date:"l,F jS"}}</p> <p>{{post.body}}</p> {%endfor%}

在blog/view.py中建立url响应处理

from django.template import loader,Context from django.http import HttpResponse from blog.models import BlogPost def archive(request): posts = BlogPost.objects.all() t = loader.get_template("archive.html") c = Context({'posts':posts}) return HttpResponse(t.render(c))

创建URL模式,在mysite/url.py中写以下代码:

url(r'^blog/', include('blog.urls')),

在mysite/blog/中建立urls.py

from django.conf.urls import patterns, include, url from blog.views import archive urlpatterns = patterns('', url(r'^$', archive), )

访问localhot:8080/blog,可以看见archive.html的展示但是样式过于单一,可以更改。

在templates下新建base.html作为基础模板,让其他的模板继承这个模板的样式

<html> <style type="text/css"> body {color : #efd;background:#453;padding:0 5em; margin: 0} h1{padding:2em 1em;background:#675} h2{color:#bf8;boder-top:1px dotted #fff ; margin-top:2em} p{margin:1em 0} </style> <body> <h1>mysite.example.com</h1> {%block content%} {%endblock%} </body> </html>

更改archive.html

{% extends "base.html"%} {%block content%} {%for post in posts%} <h2>{{post.title}}</h2> <p>{{post.timestamp|date:"l,F jS"}}</p> <p>{{post.body}}</p> {%endfor%} {%endblock%}

再次访问localhost:8080/blog,发现样式的改变。

日期的处理

排序可以再model里面做处理,在model.py中加入嵌套类

class Meta: ordering = ('-timestamp',)

再次访问即可发现日期的倒序排序

日期的格式

<p>{{post.timestamp|date:"l,F jS"}}</p>

<p>{{post.timestamp|date}}</p>

<p>{{post.timestamp}}</p>

 

 

 

转载于:https://www.cnblogs.com/yangchengInfo/archive/2013/04/14/3021267.html

最新回复(0)