文档章节

Django+SAE个人博客 四

卜星星
 卜星星
发布于 2015/10/15 11:08
字数 896
阅读 81
收藏 0

参考资料: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上。现在我们可以来编辑自己的博客了,但是要让别人看到怎么办呢,这个页面是不能给别人来看的,下一节就按照那个资料中说的,继续操作。






© 著作权归作者所有

共有 人打赏支持
卜星星
粉丝 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都是我自己的项目名称,所以需要根据自己的来设定。 上节我们已经可以编辑自己的博客了,那么这一节就把我们的...

卜星星
2015/10/15
39
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

没有更多内容

加载失败,请刷新页面

加载更多

play framework 如何支持多数据源

有段时间没有写博客了,但今天又写一篇了,主要是因为这事有一丝自己的思考和动手实践,所以就记录下来了。 现有的问题: play 1.2.4 两台数据库服务器,但是play1.2.4 并不支持同时连接两台...

tuerqidi
21分钟前
0
0
Mysql only_full_group_by解析

查看当前数据库模式: select @@sql_mode; 原因: mysql 5.7中的sql_mode的值中包含'ONLY_FULL_GROUP_BY'; 处理:执行以下SQL set GLOBAL sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,N......

年轻的中年大叔
23分钟前
1
0
防止表单重复提交

1:前端方式(治标不治本) $("#admin-role-save").click(function(){//admin-role-save为submit的idvar ts=$(this);var ts_old_val=ts.val();ts.val("提交中....");ts.att...

uug
23分钟前
1
0
保持屏幕常亮

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 在act的created方法中调用即可,一般是播放视频的时候......

Carbenson
23分钟前
1
0
智能合约实施指南

与区块链技术一样,智能合约在商业领域也非常有价值。 为了让我们的读者彻底了解智能合约是什么以及它们如何影响现代商业的交易方式,我们准备了本指南。 集中商业模式正在给去中心化的模式让...

geek12345
26分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部