<?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>Tairan&#039;s Story &#187; Django</title>
	<atom:link href="http://www.tairan.net/index.php/tag/django/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tairan.net</link>
	<description>「知之真切笃实处即是行，行之明觉精察处即是知，知行工夫不可离。」</description>
	<lastBuildDate>Fri, 02 Dec 2011 08:08:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>如何在Alwaysdata上部署Django应用</title>
		<link>http://www.tairan.net/index.php/2011/02/24/how-to-deploy-django-app-on-alwaysdata/</link>
		<comments>http://www.tairan.net/index.php/2011/02/24/how-to-deploy-django-app-on-alwaysdata/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 13:30:58 +0000</pubDate>
		<dc:creator>Daniel Wang</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[我的声音]]></category>
		<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://www.tairan.net/?p=940</guid>
		<description><![CDATA[Alwaysdata是一个法国的ISP，提供相当不错的VPS，共享主机等服务，而且免费的项目也相当的好，可惜你需要在墙外才能享受到如此高档的服务。 在Alwaysdata的wiki上已经详细说明了如何部署Django的应用，但是如果一丝不苟的依葫芦画瓢你未必能一次成功，因为这篇文档还遗漏了一点。 你还需要在project的根目录中放一个.htaccess 如下 project &#124;-- apps &#124;-- public &#124;-- django.fcgi &#124;-- .htaccess &#124;-- .htaccess &#124;-- settings.py &#124;-- manage.py 而这个 .htaccess 的内容是： AddHandler fastcgi-script .fcgi RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ public/django.fcgi/$1 [QSA,L] © Daniel Wang for Tairan&#039;s Story, 2011. &#124; Permalink &#124; No comment &#124; Add to del.icio.us Post tags: Django Feed enhanced [...]]]></description>
			<content:encoded><![CDATA[<p>Alwaysdata是一个法国的ISP，提供相当不错的VPS，共享主机等服务，而且免费的项目也相当的好，可惜你需要在墙外才能享受到如此高档的服务。</p>
<p>在Alwaysdata的<a href="http://wiki.alwaysdata.com/wiki/Deploying_a_Django_App" target="_blank">wiki</a>上已经详细说明了如何部署Django的应用，但是如果一丝不苟的依葫芦画瓢你未必能一次成功，因为这篇文档还遗漏了一点。</p>
<p>你还需要在project的根目录中放一个<strong>.htaccess</strong> 如下</p>
<pre>
project
     |-- apps
     |-- public
            |-- django.fcgi
            |-- .htaccess
     |-- .htaccess
     |-- settings.py
     |-- manage.py
</pre>
<p>而这个 <strong>.htaccess</strong> 的内容是：</p>

<div class="wp_syntax"><div class="code"><pre class="config" style="font-family:monospace;">AddHandler fastcgi-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ public/django.fcgi/$1 [QSA,L]</pre></div></div>

<hr />
<p><small>© Daniel Wang for <a href="http://www.tairan.net">Tairan&#039;s Story</a>, 2011. |
<a href="http://www.tairan.net/index.php/2011/02/24/how-to-deploy-django-app-on-alwaysdata/">Permalink</a> |
<a href="http://www.tairan.net/index.php/2011/02/24/how-to-deploy-django-app-on-alwaysdata/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.tairan.net/index.php/2011/02/24/how-to-deploy-django-app-on-alwaysdata/&title=如何在Alwaysdata上部署Django应用">del.icio.us</a>
<br/>
Post tags: <a href="http://www.tairan.net/index.php/tag/django/" rel="tag">Django</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tairan.net/index.php/2011/02/24/how-to-deploy-django-app-on-alwaysdata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The note of learning Django</title>
		<link>http://www.tairan.net/index.php/2008/07/30/the-note-of-learning-django/</link>
		<comments>http://www.tairan.net/index.php/2008/07/30/the-note-of-learning-django/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 07:37:00 +0000</pubDate>
		<dc:creator>Daniel Wang</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[我的声音]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://tairan.wordpress.com/2008/07/30/26/</guid>
		<description><![CDATA[django 学习笔记 使用 apache2.2 + mod_python 部署django 项目 #装载模块LoadModules python_module modules/mod_python.so #声明虚拟主机NameVirtualHost 127.0.0.1:80 #定义虚拟主机&#60;VirtualHost 127.0.0.1:80&#62;&#60;Location /&#62; SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonDebug On PythonPath &#8220;['D:workspace'] + sys.path&#8221;&#60;/Location&#62;&#60;/VirtualHost&#62; SetEnv DJANGO_SETTINGS_MODULE mysite.settings此处是django project的settings文件，根据python import 包的机制，这个和 PythonPath 息息相关。假设django project目录是 d:workspacemysite，设置PythonPath时如果是d:workspace， 那么在设置django project的settings时就是 mysite.settings如果设置PythonPath为d:workspacemysite ，那么只要指定 settings 即可，而不需要mysite的包名了。此处还影响着 settings.py 文件中的 ROOT_URLCONF #TODO使用虚拟目录部署 配置 Django project 中的静态资源 css js [...]]]></description>
			<content:encoded><![CDATA[<h1>django 学习笔记</h1>
<h2>使用 apache2.2 + mod_python 部署django 项目</h2>
<p>#装载模块<br />LoadModules   python_module       modules/mod_python.so</p>
<p>#声明虚拟主机<br />NameVirtualHost 127.0.0.1:80</p>
<p>#定义虚拟主机<br />&lt;VirtualHost 127.0.0.1:80&gt;<br />&lt;Location /&gt;<br />    SetHandler python-program<br />    PythonHandler django.core.handlers.modpython<br />    SetEnv DJANGO_SETTINGS_MODULE mysite.settings         <br />    PythonDebug On<br />    PythonPath &#8220;['D:workspace'] + sys.path&#8221;<br />&lt;/Location&gt;<br />&lt;/VirtualHost&gt;</p>
<p>SetEnv DJANGO_SETTINGS_MODULE mysite.settings<br />此处是django project的settings文件，根据python import 包的机制，这个和 PythonPath 息息相关。<br />假设django project目录是 d:workspacemysite，设置PythonPath时如果是d:workspace， 那么在设置django project的settings时就是 mysite.settings<br />如果设置PythonPath为d:workspacemysite ，那么只要指定 settings 即可，而不需要mysite的包名了。<br />此处还影响着 settings.py 文件中的 ROOT_URLCONF</p>
<p>#TODO使用虚拟目录部署</p>
<h2>配置 Django project 中的静态资源 css js jpg 等</h2>
<p>通过阅读他人的源码，把这个问题也明白了。传说 Django 不建议在 settings 设置 MEIDA_ROOT 等相关静态文件配置。那么我们在模板中如何使用这些文件呢。如，在模板中我们使用 /media/css/layout.css ，web server怎么样才能知道这个路径在什么地方呢？<br />当然，Django中提供了相应的解决办法:通过url映射。在urls.py中做一下设置<br />urlpatterns += patterns(&#8221;,<br />      (r&#8217;^media/(?P&lt;path&gt;.*)$&#8217;, &#8216;django.views.static.serve&#8217;, {&#8216;document_root&#8217;:'d:/templates/media&#8217;}),<br />)</p>
<p>通过这样的映射，静态的资源的问题就解决了。:)</p>
<h1>Django URL dispatcher</h1>
<p>1. project 级别的 url 调用 app 级别的url</p>
<p>此处要注意的是，project url + app url 才是真正的url，所以写url的正则表达式时，注意^ $两个符号</p>
<p>2. 通过Url传递Get Request参数</p>
<p>如果我们 detail(request, name) 的方法需要一个name参数，那么我们的正则表达式应该这样写 (r&#8217;^detail/P&lt;?name&gt;w+$&#8217;, &#8216;detail&#8217;)</p>
<p>3. 快捷调用 view<br />在appproject.views中有个index方法 在patterns 中第一个参数指定view后，在以后的调用只需指定方法名即可<br />urlpatterns = patterns(&#8216;appproject.views&#8217;,<br />      (r&#8217;^$&#8217;, &#8216;index&#8217;),<br />)</p>
<hr />
<p><small>© Daniel Wang for <a href="http://www.tairan.net">Tairan&#039;s Story</a>, 2008. |
<a href="http://www.tairan.net/index.php/2008/07/30/the-note-of-learning-django/">Permalink</a> |
<a href="http://www.tairan.net/index.php/2008/07/30/the-note-of-learning-django/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.tairan.net/index.php/2008/07/30/the-note-of-learning-django/&title=The note of learning Django">del.icio.us</a>
<br/>
Post tags: <a href="http://www.tairan.net/index.php/tag/django/" rel="tag">Django</a>, <a href="http://www.tairan.net/index.php/tag/python/" rel="tag">python</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tairan.net/index.php/2008/07/30/the-note-of-learning-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

