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

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

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

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


已经有了admin后台管理了,那么,现在就增加上blog应用,来实现写自己的博客的功能。


  1. 创建应用blog

使用命令django-admin.py startapp blog,那个书中说用python manage.py startapp blog,其实这是一样的,不过这里需要提一个事情,高版本和低版本的django生成这个blog的位置是不一样的,比如低版本的django那个manage.py文件和settings.py文件这些是在同一个目录下的,但是高版本的manage.py在上一级目录的,在哪都不是问题,关键是你要理解在import这些应用的时候,这个格式,如果你是使用高版本的django,按照书上的执行,生成的blog是和manage.py jackerb这些在同一级目录下的,因此在引用的时候使用import jackerb。但是我在创建blog的时候,没有在manage.py文件所在的目录下,我是又进入了jackerb目录下执行的django-admin.py startapp blog,所以我在使用blog的时候,要

import jackerb.blog,就这么点区别。

因此,我先进入jackerb目录,然后执行django-admin.py startapp blog

然后看到blog目录下的文件结构是这些:

我这里没有提到这些东西都是干什么的,因为都是在书里看的,而我这里只是记录我自己Django+SAE的过程。

2. 修改jackerb/settings.py文件,增加blog

找到INSTALLED_APPS,在最后加上'jackerb.blog'

3. 修改blog/models.py,增加Blog类

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()

admin.site.register(Blog, BlogAdmin)

现在把刚才所有增加的文件和修改的文件都用svn add和svn commit增加并提交。

我的上面有一个错误,就是图片中参数里面model.Model,其实是models.Model。

4. 现在新增加了blog应用后,就需要同步数据库了

前面我们提到过,在settings.py中我们使用了一个monkey的模块,在需要同步数据库的时候,我们需要把这个注释去掉,所以我本地把这个注释去掉,不需要提交。这时候执行,python manage.py syncdb。

就会生成blog有关的表了。生成后不要忘了把monkey再注释上。

5. 打开http://jackerb.sinaapp.com/admin/

这时候就可以看到已经有了blog了。这时候我们就可以,点击增加add,来增加我们自己的博客了。其实现在完成可以使用了,只要自己不觉得麻烦。并且,现在就可以把我们自己的博客在这里写了。


这时候写完,发现名字显示的都是Blog object,没有显示我们定义的博客名称,现在就来设置一下。

  1. 修改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 BlogAdmin(admin.ModelAdmin):

    list_display = ('title', 'category', 'timestamp')


admin.site.register(Blog, BlogAdmin)

把修改提交到SAE上,这时候刷新以前的网页,就可以看到博客按照标题、类别、时间来显示了。


这一节,就到这里,之后我会把自己的博客内容弄到我自己的SAE上。现在我们可以来编辑自己的博客了,但是要让别人看到怎么办呢,这个页面是不能给别人来看的,下一节就按照那个资料中说的,继续操作。






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