2010年10月2日星期六

micolog 无法生成静态(伪)的解决方法与micolog优化

个人在使用micolog时候发现生成静态(伪静态)的时候很多文章无法生成,查看后发现所有没有添加名称slug的文章都无法生成伪静态(本 文用于micolog的0.5版)。

经过查看源码发现是admin.py中的106行左右(源码改了多次,已经记不清是 不是这一行了)与model.py的374行的问题,把它改成如下代码即可成功生成静态,而不必为每一个文章添加名称了(slug)(这也许与 express不一样,但我觉得这样更符合逻辑,嘿嘿).

Python语言: admin.py Row:106 作用:更新伪静态链接
if entry.slug:
  newlink=entry.slug
else:
  newlink=link_format%vals
ds
Python语言: model.py Row:374 作用:文章发布后更新首页链接
if g_blog.link_format and self.postname:
  self.link=self.slug
else:
  self.link=g_blog.link_format.strip()%vals

另 有添加标签云的方法

base.py 268行增加'tagslist':Tag.all().order('-tagcount').fetch(50),同时更改模板 sidebar.html

增加

<!--标签云 -->

  <h2>标签云</h2>

  <ul> {%for tags in tagslist%}

  [<a href="http://taogogo.appspot.com/tag/{{tags.tag}}">{{tags.tag}}</a>]

  {%endfor%}</ul>

即可显示标签云。

增加公告栏的方法:model.py 102行增加
  blognotice = db.StringProperty(multiline=False,default='Welcome To TaoGOGO'),同时侧栏模板sidebar.html加入

<!--公告 -->

  <li>

  <h2>网站公告</h2>

  <ul> {{blog.blognotice}}

</ul>

</li>

在 admin目录的setup.html文件中增加:

<textarea id="blognotice" style="width:95%" cols="45" rows="2" name="blognotice">{{ blog.blognotice }}</textarea>

以在后台设置页面出现公告添加输入框。

在107行 左右加入红色字:

  <input style="color: #ff0000;" maxlength="2147483647" size="20" type="hidden" value="title,subtitle,baseurl,feedurl,rpcuser,rpcpassowrd,theme_name,domain, blognotice,link_format" name="str_options"/>

以保证提交的公告修改框内的内容被程序接收。

网页链接自由 定制的方法:

在后台设置页面有自由定制输入框,但是不知何种原因无法更改,经查看源程序发现admin目录的 setup.html中约107行的<input style="color: #ff0000;" maxlength="2147483647" size="20" type="hidden" value="title,subtitle,baseurl,feedurl,rpcuser,rpcpassowrd,theme_name,domain, blognotice,link_format" name="str_options"/> 红字第二个没有添加,添加上即可随心所欲的定制链接的样式了

没有评论:

发表评论