文档章节

Django+SAE个人博客 五

卜星星
 卜星星
发布于 2015/10/15 12:39
字数 788
阅读 40
收藏 0

参考资料:Django Web开发指南.pdf 2009年5月第1版

以下内容中,所有提到jackerb都是我自己的项目名称,所以需要根据自己的来设定。


上节我们已经可以编辑自己的博客了,那么这一节就把我们的博客显示给别人来看。


  1. 在blog目录下创建目录templates,然后编辑两个文件,base.html homepage.html

blog/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; border-top: 1px dotted #fff; margin-top: 2em }
        p { margin: 1em 0 }
    </style>
    <body>
        <h1>全栈之路</h1>
        {% block content %}
        {% endblock %}
    </body>
</html>

blog/templates/homepage.html内容如下:

{% extends "base.html" %}
{% block content %}
{% for post in posts %}
<h2>{{ post.title }}</h2>
<p>{{ post.timestamp }}</p>
<p>{{ post.body }}</p>
{% endfor %}
{% endblock %}

把这些新增加的和修改了的,svn到SAE上。

2. 在blog/views.py中创建视图homepage,增加如下内容:

from django.template import loader, Context
from django.http import HttpResponse
from jackerb.blog.models import Blog

def homepage(request):
    posts = Blog.objects.all()
    t = loader.get_template("homepage.html")
    c = Context({ 'posts': posts })
    return HttpResponse(t.render(c))

3. 在blog/urls.py中增加url设置,在django1.5创建的blog中没有urls.py,我还没有查为什么,所以我自己创建这个文件,并写下如下内容:

from django.conf.urls.defaults import *
from jackerb.blog.views import homepage

urlpatterns = patterns('',
    url(r'^$', homepage),
)

4. 这时候再去设置jackerb中的urls.py,增加如下内容:

from django.conf.urls import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'oncedo.views.home', name='home'),
    # url(r'^oncedo/', include('oncedo.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
    url(r'^blog/', include('jackerb.blog.urls')),
)

这时候就可以把所有修改的和增加的都提交到SAE上,就可以通过http://jackerb.sinaapp.com/blog/,来访问了

我在弄这块的时候,有好些地方都打错了字母之类的错误,通过出错的提示都一一的改正过来了,就可以看到自己的博客了。


5. 现在看到的博客排序是按时间的顺序排列的,而我们一般都是逆序排列,也就是最后写的博文在最前面,现在就来设置一下,修改blog/models.py文件,如下:

from django.db import models
from django.contrib import admin

class Blog(models.Model):
    title = models.CharField(max_length=200)
    category = models.CharField(max_length=200)
    body = models.TextField()
    timestamp = models.DateTimeField()

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

class BlogAdmin(admin.ModelAdmin):
    list_display = ('title', 'category', 'timestamp')

admin.site.register(Blog, BlogAdmin)

这是在Blog中增加了一个内嵌类Meta实现的。提交更改到SAE,看看改变。


6. 接下来就是那个资料里说的时间显示的问题了,修改templates/homepage.html,如下:

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

再提交改变到SAE,刷新页面就可以看到效果了。


以上内容都是参考《Django Web开发指南》的第二章来做的,建议先在本地试过,再去SAE上部署。


其实现在可以编辑,可以让别人访问,一个最基本的博客就有了,然后就是我们有不同的需求,再去增加不同的内容了。

我会继续改进我的博客的,并且一直保持记录操作过程。

这一节就到这里了。



© 著作权归作者所有

共有 人打赏支持
卜星星
粉丝 27
博文 111
码字总数 68736
作品 0
海淀
程序员
Django+SAE个人博客 七

以后的博客就记录在我自己的个人博客下了,这是第七节的地址: http://jackerb.sinaapp.com/blog/7/ 扫码关注,更多惊喜

卜星星
2015/10/19
37
0
Django+SAE个人博客 四

参考资料:Django Web开发指南.pdf 2009年5月第1版 以下内容中,所有提到jackerb都是我自己的项目名称,所以需要根据自己的来设定。 已经有了admin后台管理了,那么,现在就增加上blog应用,...

卜星星
2015/10/15
54
0
Django+SAE=个人博客 一

本地开发环境: 操作系统:OS X Yosemite Python版本:2.7.6 Django版本:1.5.12 远程: 使用新浪的SAE 参考资料:Django Web开发指南.pdf 2009年5月第1版,根据书中第二章完成,建议先在本地...

卜星星
2015/10/14
114
0
Django+SAE个人博客 九

第九节地址: http://jackerb.sinaapp.com/blog/9/ 扫码,获取更多精彩内容

卜星星
2015/10/19
69
0
Django+SAE个人博客 六

这一节来解决一些我自己的需求。 http://jackerb.sinaapp.com/blog/ 这里一下子把所有博文都显示出来了,并且每个博文的全部内容也都显示出来了,这样不符合我们一般见到的样式,所以先修改博...

卜星星
2015/10/15
80
0

没有更多内容

加载失败,请刷新页面

加载更多

JavaFX WebView概述,很强大,内置了类似Electron的功能

来自 Murali Billa JavaFX技术人员的主要成员 在本博客中,我们将了解JavaFX如何呈现网页及其主要的组件 - 即WebView JavaFX是: 用于创建和交付桌面应用程序的软件平台,以及可以在各种设备...

GuoMengyue
18分钟前
3
0
数据库监控系统小实现1

需求:通过java 去调取python 去目标数据库采集信息,然后插入到数据库,由前台UI显示出来,从而达到监控目的。 设计:通过java的Runtime.getRuntime().exec(args1)方法去调用python脚本,j...

hnairdb
21分钟前
0
0
spring boot logback-spring 配置 日志分文件

因为更规规范化,想将日志分文异常类型,分别存储起来,方便以后查询问题。 以下是 logback-spring.xml 配置: <?xml version="1.0" encoding="UTF-8"?><configuration scan="true"> ...

诺岚
22分钟前
1
0
OSChina 周三乱弹 —— 这下回去要被老婆挠死

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享Passenger的单曲《Let Her Go》 《The Importance of Being Idle》-Noel Gallagher/It's a Cover Up 手机党少年们想听歌,请使...

小小编辑
41分钟前
576
18
RedHat已更改其开源许可规则

对于编程圈外的人来说,软件许可证似乎并不重要,但是,在开源领域,开源许可是非常重要的。 因此,领先的Linux公司Red Hat宣布了一件大事,所有新的由Red Hat发起的使用GNU通用公共许可证(...

linuxCool
54分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部