<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DPress &#8211; 天地一沙鸥</title>
	<atom:link href="https://haoluobo.com/tag/dpress/feed/" rel="self" type="application/rss+xml" />
	<link>https://haoluobo.com</link>
	<description>to be continue....</description>
	<lastBuildDate>Thu, 16 Dec 2021 03:33:33 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
	<item>
		<title>DPress更新Django 1.10支持</title>
		<link>https://haoluobo.com/2017/03/dpress-django-1-10/</link>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Tue, 21 Mar 2017 12:34:56 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[DPress]]></category>
		<guid isPermaLink="false">/?p=11548</guid>

					<description><![CDATA[DPress 是我很早之前用Django写的一个博客系统。这个博客系统更接近于一个Django入门用的演示程序 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://github.com/vicalloy/DPress">DPress</a> 是我很早之前用Django写的一个博客系统。这个博客系统更接近于一个Django入门用的演示程序。管理后台直接使用Django的Admin加少量的定制。页面展示部分，Tag和翻页用的开源APP。系统后台部分的代码极少，主要工作都在前端。<br />
系统开发的初期相关依赖库都只指定了所要求的最低版本，随着相关依赖库的升级，系统已经跑不起来了。<br />
今天把项目重新梳理了一遍，让项目重新跑起来。主要做了下面的一些调整：</p>
<ul>
<li>Django升级到1.10。</li>
<li>原翻页APP似乎已经不再维护，进行了替换。</li>
<li>Markdown编辑组件直接使用现成的APP，进一步简化程序代码。</li>
<li>相关的依赖库都明确指定了版本，以免再出现因相关库的升级导致系统跑不起来的情况。</li>
<li>对项目的目录结构做了调整。除默认主题外，其他主题都以APP方式进行安装。</li>
<li>很久没有用过SAE，不知道之前的SAE支持代码还能不能用，因此直接去掉了SAE相关支持。</li>
</ul>
<p>调整好后并未进行严格的测试，如遇到什么问题，可以直接在GitHub上提交Issue。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DPress增加一款新主题moment</title>
		<link>https://haoluobo.com/2012/11/dpress-moment/</link>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Fri, 02 Nov 2012 02:13:17 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[DPress]]></category>
		<guid isPermaLink="false">/?p=10814</guid>

					<description><![CDATA[为DPress增加了一款极简的主题moment。该主题由 Hsiaoming Yang 设计，也是他个人博客所 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>为DPress增加了一款极简的主题moment。该主题由 <a href="http://lepture.com/">Hsiaoming Yang</a> 设计，也是他个人博客所使用的主题。如果想预览这款主题的效果，可直接参考 <a href="http://lepture.com/archive/">Hsiaoming Yang 的博客</a> 。</p>
<h4>主题使用方式</h4>
<p>创建文件setttings/pre.py，在文件里增加设置 SETTINGS = &#8216;theme_moment&#8217; 。这款主题支持设置页面上下的导航菜单，具体设置参考 theme_moment.py 文件。页面的主导航菜单默认为博客分类，可将DPRESS_SHOW_CATEGORYS_NAV修改为False，禁用分类。<br />
<img decoding="async" src="/wp-content/uploads/2012/11/dpress_idx.png"/></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DPress部署到SAE</title>
		<link>https://haoluobo.com/2012/08/dpress-sae/</link>
					<comments>https://haoluobo.com/2012/08/dpress-sae/#comments</comments>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Thu, 16 Aug 2012 13:08:43 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[DPress]]></category>
		<category><![CDATA[SAE]]></category>
		<guid isPermaLink="false">/?p=10695</guid>

					<description><![CDATA[将DPress部署到SAE的简要说明。如果你在部署过程中有遇到什么问题，欢迎反馈。 在SAE管理后台创建应用， [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>将DPress部署到SAE的简要说明。如果你在部署过程中有遇到什么问题，欢迎反馈。</p>



<ul class="wp-block-list"><li>在SAE管理后台创建应用，开发语言选择python</li><li>使用svn将应用代码更新到本地</li><li>修改配置文件config.yaml</li></ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: yaml; title: ; notranslate">
name: 你的应用名称
version: 1
libraries:
- name: django
  version: &quot;1.4&quot;
</pre></div>


<ul class="wp-block-list"><li>将DPress sites目录下所有文件复制到SAE应用目录(如：dpress/1/)。</li><li>在应用的根目录下创建目录libs(如：dpress/1/libs/)</li><li>将virtualenv.bundle.zip复制到libs目录
<ul>
<li>注：virtualenv.bundle.zip为python的第三方依赖包</li>
<li>下载 <a href="/wp-content/uploads/2012/08/virtualenv.bundle.zip">virtualenv.bundle</a></li>
</ul>
</li><li>在服务管理中启用mysql数据库</li><li>由于SAE上无法使用Django命令。需要在本地使用syncdb命令在本地mysql数据库中创建好DPress的初始数据，然后使用SAE的phpmyadmin将数据导入到SAE。</li><li>在服务管理中创建Storage，并将Domain设置为base</li><li>创建配置文件settings/local.py</li></ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
# -*- coding: UTF-8 -*-
import sae.const
DATABASES = {
    &#039;default&#039;: {
        &#039;ENGINE&#039;: &#039;django.db.backends.mysql&#039;, # Add &#039;postgresql_psycopg2&#039;, &#039;postgresql&#039;, &#039;mysql&#039;, &#039;sqlite3&#039; or &#039;oracle&#039;.
        &#039;NAME&#039;: sae.const.MYSQL_DB,                      # Or path to database file if using sqlite3.
        &#039;USER&#039;: sae.const.MYSQL_USER,                      # Not used with sqlite3.
        &#039;PASSWORD&#039;: sae.const.MYSQL_PASS,                  # Not used with sqlite3.
        &#039;HOST&#039;: sae.const.MYSQL_HOST,                      # Set to empty string for localhost. Not used with sqlite3.
        &#039;PORT&#039;: sae.const.MYSQL_PORT,                      # Set to empty string for default. Not used with sqlite3.
    }
}
DEFAULT_FILE_STORAGE = &#039;saestorage.SaeStorage&#039;
FILEBROWSER_DIRECTORY = &#039;&#039;
STATIC_URL = &#039;http://vicalloy.sinaapp.com/dpress/&#039;#修改为你静态资源位置
DPRESS_TITLE = u&#039;天地一沙鸥&#039;
DPRESS_SUBTITLE = u&#039;to be continue&#039;
DPRESS_DESCN = &#039;&#039;
DISQUS_SHORTNAME = &#039;&#039;
GOOGLE_ANALYTICS_CODE = &#039;&#039;
#根据你的静态资源位置进行修改
EPIC_JS = &#039;http://vicalloy.sinaapp.com/dpress/dpress/epiceditor/js/epiceditor.min.js&#039;
EPIC_BASEPATH = &#039;http://vicalloy.sinaapp.com/dpress/dpress/epiceditor&#039;

</pre></div>


<ul class="wp-block-list"><li>到这里服务已经可以跑起来了。由于没有对静态资源进行配置，将出现无法找到静态资源的情况。</li><li>创建一个新的SAE应用，应用类型选择PHP，专门用于管理DPress的静态资源文件（如：dstatic.sinaapp.com）。</li><li>在本地运行Django的collectestatic命令将DPress的静态资源收集到sites/collectedstatc/目录。</li><li>将collectedstatc中的内容复制到新创建的站点
<ul>
<li>如：static/dpress/。对应的STATIC_URL配置文件修改为 http://dstatic.sinaapp.com/static/dpress/</li>
</ul>
</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://haoluobo.com/2012/08/dpress-sae/feed/</wfw:commentRss>
			<slash:comments>27</slash:comments>
		
		
			</item>
		<item>
		<title>DPress配置、定制、模板创建指南</title>
		<link>https://haoluobo.com/2012/08/dpress-guide/</link>
					<comments>https://haoluobo.com/2012/08/dpress-guide/#comments</comments>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Wed, 15 Aug 2012 15:26:28 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[DPress]]></category>
		<guid isPermaLink="false">/?p=10684</guid>

					<description><![CDATA[DPress项目地址： https://github.com/vicalloy/DPress DPress是我 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>DPress项目地址： <a href="https://github.com/vicalloy/DPress">https://github.com/vicalloy/DPress</a><br />
DPress是我用Django写的一个博客系统，支持使用MarkDown语法进行博客的书写。这里将就系统的配置，模板定制修改，以及如何创建自己的模板给个简要的指南。由于系统使用Django开发，使用者最好能有一定的Django基础。</p>
<h4>使用Django的开发服务器将系统跑起来</h4>
<ul>
<li>clone DPress的代码库（git://github.com/vicalloy/DPress.git）</li>
<li>运行scripts/create_env.py，该脚本将为你创建python虚拟环境，并自动安装相关依赖包。</li>
<li>执行scripts/env.bat(. scripts/env.rc)，进入刚创建的python虚拟环境。</li>
<li>%mg%($mg in linux)   是 &#8220;python manage.py &#8221; 的快捷方式，用于方便的执行Django命令。</li>
<li>%mg% syncdb</li>
<li>%mg% migrate</li>
<li>%mg% runserver</li>
<li>DPress Admin http://127.0.0.1:8000/admin/</li>
<li>DPress http://127.0.0.1:8000/</li>
</ul>
<h4>配置</h4>
<ul>
<li>复制 <strong>sites /settings/pre.sample</strong> 为 <strong>pre.py</strong> 。修改其中的SETTINGS设置，确定使用哪个配置（默认可选production/dev）。</li>
<li>复制 <strong>sites /settings/local.sample</strong> 为 <strong>local.py</strong> 。并修改相关配置。</li>
<li>DISQUS_SHORTNAME以及GOOGLE_ANALYTICS_CODE这两个参数需要在正确设置后，DISQUS的评论功能以及GOOGLE ANALYTICS才可正常生效使用。</li>
</ul>
<h4>模板的配置与修改</h4>
<ul>
<li>DPress自带的模板在 <strong>sites/dpress/templates/</strong> 目录。自定义模板放在 <strong>sites/templates/</strong> 目录。系统将自动优先使用自定义模板目录的模板，实现对模板的重写。</li>
<li><strong>dpress/include/footer.html</strong> 为页面的底部。可重写该文件，修改版权增加定义链接等。</li>
<li><strong>dpress/include/sidebar.html</strong> 页面的侧边栏。重写该文件对侧边栏内容进行配置。</li>
<li><strong>dpress/widgets/</strong> 该目录为侧边栏小工具的模板。如果你需要创建自定义的侧边栏工具，请遵守约定将小工具模板放到该目录。</li>
<li>dpress自带的静态资源文件放在 <strong>sites /dpress/static/</strong> 目录。自定义的静态资源文件放在 <strong>sites/static/</strong> 目录。</li>
<li>静态资源目录中 <strong>/dpress/themes/</strong> 为主题目录。当前的默认主题为 <strong>default</strong> 。你可创建一个新文件夹用于存放你的新主题。</li>
<li>重写 <strong>dpress/include/base_style.html</strong> 使用新主题的css文件。</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://haoluobo.com/2012/08/dpress-guide/feed/</wfw:commentRss>
			<slash:comments>32</slash:comments>
		
		
			</item>
		<item>
		<title>“DPress”原地满血复活</title>
		<link>https://haoluobo.com/2012/08/dpress-reload/</link>
					<comments>https://haoluobo.com/2012/08/dpress-reload/#comments</comments>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Mon, 13 Aug 2012 08:25:17 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[DPress]]></category>
		<guid isPermaLink="false">/?p=10659</guid>

					<description><![CDATA[GitHub地址： DPress(GitHub) 演示地址： DPress(SAE) DPress 是我在20 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>GitHub地址： <a href="https://github.com/vicalloy/DPress">DPress(GitHub)</a><br />
演示地址： <a href="http://dpress.sinaapp.com">DPress(SAE)</a><br />
<a href="/wp-content/uploads/2012/08/dpress.jpg"><img fetchpriority="high" decoding="async" src="/wp-content/uploads/2012/08/dpress-300x187.jpg" alt="" title="dpress" width="300" height="187" class="alignnone size-medium wp-image-10672" /></a><br />
<a href="https://github.com/vicalloy/DPress">DPress</a> 是我在2009用django写的一个博客系统。此后年久失修，已经跑不起来了。<br />
这两天花了些时间将项目重新修整一下，现在项目又可以重新跑起来了。功能方面新版的DPress有了些变化。</p>
<ul>
<li>提供对 <a href="http://daringfireball.net/projects/markdown/">Markdown</a> 的支持（也只支持Markdown）。</li>
<li>使用 <a href="http://epiceditor.com/">EpicEditor</a> 实现Markdown的实时预览。</li>
<li>使用 <a href="http://disqus.com/">DISQUS</a> 实现文章的评论功能。（注：既然已经有了这么好用的评论服务，为什么还要自己写代码呢）</li>
<li>支持代码高亮度。相关的语法说明见：<a href="http://packages.python.org/Markdown/extensions/fenced_code_blocks.html">Fenced Code Blocks</a></li>
<li>支持Tag</li>
<li>支持RSS</li>
<li>使用 <a href="https://github.com/sehmaschine/django-filebrowser">Django FileBrowser</a> 提供文件上传的支持。</li>
<li>使用 <a href="https://docs.djangoproject.com/en/dev/ref/contrib/flatpages/">flatpages</a> 提供对About等自定义页面的管理。</li>
<li>内置GOOGLE ANALYTICS的支持</li>
<li>代码量非常的小</li>
<li>模板和代码分离的比较清晰，要创建一套自己的模板会是一件比较容易的事。</li>
</ul>
<p>已知bug：直接从网页复制文本时EpicEditor的编辑框内会自动的添加一些看不见的html标签，将导致文本显示不正常。需要粘贴文本时最好先将文本粘贴到写字板中，再重新复制粘贴。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://haoluobo.com/2012/08/dpress-reload/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>DPress演示站点开放</title>
		<link>https://haoluobo.com/2009/05/dpress%e6%bc%94%e7%a4%ba%e7%ab%99%e7%82%b9%e5%bc%80%e6%94%be/</link>
					<comments>https://haoluobo.com/2009/05/dpress%e6%bc%94%e7%a4%ba%e7%ab%99%e7%82%b9%e5%bc%80%e6%94%be/#comments</comments>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Sat, 30 May 2009 11:10:27 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[DPress]]></category>
		<guid isPermaLink="false">/index.php/2009/05/dpress%e6%bc%94%e7%a4%ba%e7%ab%99%e7%82%b9%e5%bc%80%e6%94%be/</guid>

					<description><![CDATA[今天部署了一个dpress的演示站点。 http://vik.haoluobo.com/dpress/ htt [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>今天部署了一个dpress的演示站点。</p>
<p><a title="http://vik.haoluobo.com/dpress/" href="http://vik.haoluobo.com/dpress/">http://vik.haoluobo.com/dpress/</a></p>
<p><a title="http://vik.haoluobo.com/dpress/admin" href="http://vik.haoluobo.com/dpress/admin">http://vik.haoluobo.com/dpress/admin</a> 用户名：vicalloy 密码：vicalloy</p>
<p>感觉django的部署还是太麻烦…</p>
]]></content:encoded>
					
					<wfw:commentRss>https://haoluobo.com/2009/05/dpress%e6%bc%94%e7%a4%ba%e7%ab%99%e7%82%b9%e5%bc%80%e6%94%be/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>DPress-Django开发的Blog</title>
		<link>https://haoluobo.com/2009/05/dpress-django%e5%bc%80%e5%8f%91%e7%9a%84blog/</link>
					<comments>https://haoluobo.com/2009/05/dpress-django%e5%bc%80%e5%8f%91%e7%9a%84blog/#comments</comments>
		
		<dc:creator><![CDATA[vicalloy]]></dc:creator>
		<pubDate>Thu, 28 May 2009 18:03:09 +0000</pubDate>
				<category><![CDATA[vicalloy的庄家]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[DPress]]></category>
		<guid isPermaLink="false">/index.php/2009/05/dpress-django%e5%bc%80%e5%8f%91%e7%9a%84blog/</guid>

					<description><![CDATA[用Django做Blog实在是太过简单，所以在网上可以轻易的找到大量用django实现的Blog，DPress [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>用Django做Blog实在是太过简单，所以在网上可以轻易的找到大量用django实现的Blog，<a href="http://code.google.com/p/dpress/">DPress</a>就是其中一个。</p>
<p>本想用这个项目做Django最佳实践的教程，不过发现自己实在是不擅长这个。此外该项目花费的时间比预期的要多出不少，以至到后期挺没耐心，功能方面也因此大幅缩水。</p>
<p>目前DPress的基础功能已经完成，文档方面我会在晚些时候补上。</p>
<p>有兴趣的朋友可以将代码下回来看看。如果要使用Django自己服务器启动起来非常容易。</p>
<ol>
<li>使用SVN把代码下回来 <a href="http://dpress.googlecode.com/svn/trunk/">http://dpress.googlecode.com/svn/trunk/</a> 。 </li>
<li>运行 \trunk\scripts\init.bat 完成一些必要的初始化（复制静态文件到相关目录）。 </li>
<li>运行 \trunk\site\dpress\scripts\syncdb.bat 初始化数据库。 </li>
<li>运行 \trunk\site\dpress\scripts\runserver.bat 启动服务。 </li>
<li>访问 <a title="http://127.0.0.1:8000/admin/" href="http://127.0.0.1:8000/admin/">http://127.0.0.1:8000/admin/</a> 在管理后台添加日志。 </li>
</ol>
<p>DPress本着以最少的代价完成最多工作的原则，能不造轮子的地方就不造轮子。</p>
<ul>
<li>Blog的编辑功能完全交给admin处理。 </li>
<li>使用<a href="http://code.google.com/p/django-filebrowser/">filebrowser</a>对admin扩展，实现对文件的管理。 </li>
<li>使用<a href="http://code.google.com/p/django-tinymce/">django-tinymce</a>，实现html的可视化编辑。 </li>
<li>文章的Tag功能使用<a href="http://code.google.com/p/django-tagging/">django-tagging</a>实现。 </li>
<li>comments功能使用django.contrib.comments。 </li>
<li>Blog本身也大量“借鉴”了pinax的blog组件。 </li>
<li>Blog支持使用书写格式有Markdown、Textile、普通文本，html（支持可视化编辑）、reStructuredText（当然，你需要安装有相关的库）。 </li>
</ul>
<p>对Blog应用来说，一般都会有较高的个性化要求。换肤基本上成了必备功能。很遗憾，这方面是django的软肋。换肤需要创建新的模板，并需要修改配置文件，指定使用新模板。好的方面是，DPress的模板在我优化过后，还是比较简单，改起来还算方便的。</p>
<p>虽然在开始DPress之前就计划的很好，本以为很容易就可以搞定，但事与愿违开发过程中遇中还是遇到了一些麻烦。</p>
<p>Pinax中的Blog组件使用<a href="http://code.google.com/p/django-threadedcomments/">threadedcomments</a>来增加评论支持。在评论内容填写不完整时，会转到它自定义的页面。我认为这是一个挺不友好的设置，尝试修正无果。切换到django.contrib.comments后问题则更糟，不但评论出错会跳到自定义页面，即使评论成功了不会转到评论页面，而是给出一个评论成功的提示。最后没办法，还是自己将添加评论的代码给写了一遍。</p>
<p>此外在模板方面也折腾掉了大量的时间。模板的本身也是程序中重要的一环，但不少的可重用app都没有带任何模板，而且也缺乏模板方面的范例。在我看来，这也是django的第三方app普遍不太好用的重要原因之一。</p>
<p>下面上张图吧，模板的样式，是偷的朋友BLOG的（他也是偷别人的）。</p>
<p><img decoding="async" src="/wp-content/gallery/dpress/dpress02.jpg" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://haoluobo.com/2009/05/dpress-django%e5%bc%80%e5%8f%91%e7%9a%84blog/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
