Django+SAE个人博客 五
Django+SAE个人博客 五
卜星星 发表于3年前
Django+SAE个人博客 五
  • 发表于 3年前
  • 阅读 40
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

参考资料: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上部署。


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

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

这一节就到这里了。



标签: Django SAE 个人博客
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 24
博文 110
码字总数 68736
×
卜星星
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: