<?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>Nickcheng.LOG &#187; django</title>
	<atom:link href="http://www.nickcheng.com/tag/django/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nickcheng.com</link>
	<description>在天朝的每天都当最后一天吧!</description>
	<lastBuildDate>Thu, 29 Dec 2011 14:17:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Django server和Apache下运行Django的细微差别</title>
		<link>http://www.nickcheng.com/2007/10/16/the-tiny-difference-between-django-server-and-apache-server/</link>
		<comments>http://www.nickcheng.com/2007/10/16/the-tiny-difference-between-django-server-and-apache-server/#comments</comments>
		<pubDate>Tue, 16 Oct 2007 09:06:00 +0000</pubDate>
		<dc:creator>nickcheng</dc:creator>
				<category><![CDATA[俺的技术]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://nickcheng.com/2007/10/16/the-tiny-difference-between-django-server-and-apache-server/</guid>
		<description><![CDATA[今天把在家调好的网站放到服务器上, 发现不能运行, 提示 ViewDoesNotExist 的异常错误. 一开始以为又是服务器上的文件访问权限问题, 但是 chmod 到 777 之后问题还是照旧, 而且在我本地用”manage.py runserver”运行还是没有问题. 于是乎, 去Python-Chinese的邮件列表寻找答案. 看到limodou有如下一说: 使用apache要复杂些，要把project的路径和它的父路径都加入sys.path中比较方便。而address.view的用法说明它是从project目录开始找的，所以要把project路径加入sys.path. 如果使用开发服务器，manage.py会自动将project的路径和它的父路径都加入sys.path中，而apache要自已来做。 这里已经说的很清楚了, 开发服务器的manage.py会在背后为你做一些事情, 而apache不会, 所以导致了我碰到的这个问题. 其实修改起来也很简单, 除了把路径加入sys.path之外, 还有一个方法就是在urls.py中, 把调用的方法名写成”项目名+模块名+方法名”的形式. 修改前代码: urls.py from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^$', 'view.index'), (r'^s/$', 'view.search'), ) 修改后代码: urls.py from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^$', 'djangotest.view.index'), (r'^s/$', 'djangotest.view.search'), ) Related [...]
Related posts:<ol>
<li><a href='http://www.nickcheng.com/2007/10/10/install-and-setup-django-on-media-temple-dvd/' rel='bookmark' title='在Media Temple(dv)上安装配置Django'>在Media Temple(dv)上安装配置Django</a></li>
<li><a href='http://www.nickcheng.com/2007/01/23/build-django-site-on-bluehost/' rel='bookmark' title='在BlueHost上建立Django站点'>在BlueHost上建立Django站点</a></li>
<li><a href='http://www.nickcheng.com/2006/11/06/editplus-230-beta/' rel='bookmark' title='Editplus 2.30 beta'>Editplus 2.30 beta</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>今天把在家调好的网站放到服务器上, 发现不能运行, 提示 ViewDoesNotExist 的异常错误. 一开始以为又是服务器上的文件访问权限问题, 但是 chmod 到 777 之后问题还是照旧, 而且在我本地用”manage.py runserver”运行还是没有问题. 于是乎, 去Python-Chinese的邮件列表寻找答案. 看到limodou有如下一说:</p>
<blockquote><p>使用apache要复杂些，要把project的路径和它的父路径都加入sys.path中比较方便。而address.view的用法说明它是从project目录开始找的，所以要把project路径加入sys.path. 如果使用开发服务器，manage.py会自动将project的路径和它的父路径都加入sys.path中，而apache要自已来做。</p>
</blockquote>
<p>这里已经说的很清楚了, 开发服务器的manage.py会在背后为你做一些事情, 而apache不会, 所以导致了我碰到的这个问题.</p>
<p>其实修改起来也很简单, 除了把路径加入sys.path之外, 还有一个方法就是在urls.py中, 把调用的方法名写成”项目名+模块名+方法名”的形式.</p>
<p>修改前代码: urls.py   <br /><code>     <br />from django.conf.urls.defaults import *</code></p>
<p><code></code></p>
<p><code>urlpatterns = patterns('',     <br />(r'^$', 'view.index'),      <br />(r'^s/$', 'view.search'),      <br />)      <br /></code></p>
<p>修改后代码: urls.py   <br /><code>     <br />from django.conf.urls.defaults import *</code></p>
<p><code></code></p>
<p><code>urlpatterns = patterns('',     <br />(r'^$', 'djangotest.view.index'),      <br />(r'^s/$', 'djangotest.view.search'),      <br />)</code></p>
<p>Related posts:<ol>
<li><a href='http://www.nickcheng.com/2007/10/10/install-and-setup-django-on-media-temple-dvd/' rel='bookmark' title='在Media Temple(dv)上安装配置Django'>在Media Temple(dv)上安装配置Django</a></li>
<li><a href='http://www.nickcheng.com/2007/01/23/build-django-site-on-bluehost/' rel='bookmark' title='在BlueHost上建立Django站点'>在BlueHost上建立Django站点</a></li>
<li><a href='http://www.nickcheng.com/2006/11/06/editplus-230-beta/' rel='bookmark' title='Editplus 2.30 beta'>Editplus 2.30 beta</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.nickcheng.com/2007/10/16/the-tiny-difference-between-django-server-and-apache-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mod_python和django使用需要注意python egg</title>
		<link>http://www.nickcheng.com/2007/10/12/pay-attention-to-the-python-egg-when-use-modpython-and-django/</link>
		<comments>http://www.nickcheng.com/2007/10/12/pay-attention-to-the-python-egg-when-use-modpython-and-django/#comments</comments>
		<pubDate>Fri, 12 Oct 2007 09:03:00 +0000</pubDate>
		<dc:creator>nickcheng</dc:creator>
				<category><![CDATA[俺的技术]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[egg]]></category>
		<category><![CDATA[modpython]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://nickcheng.com/2007/10/12/pay-attention-to-the-python-egg-when-use-modpython-and-django/</guid>
		<description><![CDATA[不认识上面几个英文的朋友请忽略本文, 谢谢:) 昨天在配置Django的数据库的时候, 发现了一个奇怪的问题. 在我将数据库设置配置完成后, 在本地用manage.py runserver执行访问都没有问题, 但是放到服务器上用apache+mod_python的方式执行访问的时候, 就会报错. 而且更诡异的是每次报错都不一样. 我观察了一下, 发现基本就是两种错误在来回的报! 一个是说我的middleware有问题, 另一个说是在使用一些egg文件时有问题. 连忙上网搜了一圈, 找到了一些类型的情形, 大家的基本解决方案都指向了django网站的一个网页(看来还是官网好啊). using eggs with mod_python 看完这个介绍以后, 终于明白了问题的所在,剩下的就是按步骤来做了! 不过这里还有一个小技巧. 报egg使用有问题的错误时, 错误信息中写的很详细, 大概意思是说因为我没有配置using eggs with mod_python 中所说的cache目录, 所以默认要使用”/.python-eggs”目录作为cache目录. 而我的服务器上并没有这个目录, 所以才会报错. 这样就简单了, 我就建一个这个目录呗, 再把权限一改, 再一试, 嘿嘿~~~齐活! 不想麻烦的朋友, 如果遇到这个问题能看到他需要的目录, 可以采用我的方法:) Related posts: 混沌志-20070212 在Python2.5下安装Trac 0.11dev 简单配置了一下Emacs, 用于Python开发
Related posts:<ol>
<li><a href='http://www.nickcheng.com/2007/02/12/huntun-to-eat-heihei-20070212/' rel='bookmark' title='混沌志-20070212'>混沌志-20070212</a></li>
<li><a href='http://www.nickcheng.com/2007/03/29/install-trac-11dev-in-python-25/' rel='bookmark' title='在Python2.5下安装Trac 0.11dev'>在Python2.5下安装Trac 0.11dev</a></li>
<li><a href='http://www.nickcheng.com/2006/02/28/config-the-emacs-for-python-dev/' rel='bookmark' title='简单配置了一下Emacs, 用于Python开发'>简单配置了一下Emacs, 用于Python开发</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>不认识上面几个英文的朋友请忽略本文, 谢谢:)</p>
<p>昨天在配置Django的数据库的时候, 发现了一个奇怪的问题.</p>
<p>在我将数据库设置配置完成后, 在本地用manage.py runserver执行访问都没有问题, 但是放到服务器上用apache+mod_python的方式执行访问的时候, 就会报错. 而且更诡异的是每次报错都不一样. 我观察了一下, 发现基本就是两种错误在来回的报! 一个是说我的middleware有问题, 另一个说是在使用一些egg文件时有问题.</p>
<p>连忙上网搜了一圈, 找到了一些类型的情形, 大家的基本解决方案都指向了django网站的一个网页(看来还是官网好啊).</p>
<p><a href="http://web.archive.org/web/20071014010413/http://www.djangoproject.com/documentation/modpython/#using-eggs-with-mod-python">using eggs with mod_python</a></p>
<p>看完这个介绍以后, 终于明白了问题的所在,剩下的就是按步骤来做了! 不过这里还有一个小技巧.</p>
<p>报egg使用有问题的错误时, 错误信息中写的很详细, 大概意思是说因为我没有配置<a href="http://web.archive.org/web/20071014010413/http://www.djangoproject.com/documentation/modpython/#using-eggs-with-mod-python">using eggs with mod_python</a> 中所说的cache目录, 所以默认要使用”/.python-eggs”目录作为cache目录. 而我的服务器上并没有这个目录, 所以才会报错.</p>
<p>这样就简单了, 我就建一个这个目录呗, 再把权限一改, 再一试, 嘿嘿~~~齐活!</p>
<p>不想麻烦的朋友, 如果遇到这个问题能看到他需要的目录, 可以采用我的方法:)</p>
<p>Related posts:<ol>
<li><a href='http://www.nickcheng.com/2007/02/12/huntun-to-eat-heihei-20070212/' rel='bookmark' title='混沌志-20070212'>混沌志-20070212</a></li>
<li><a href='http://www.nickcheng.com/2007/03/29/install-trac-11dev-in-python-25/' rel='bookmark' title='在Python2.5下安装Trac 0.11dev'>在Python2.5下安装Trac 0.11dev</a></li>
<li><a href='http://www.nickcheng.com/2006/02/28/config-the-emacs-for-python-dev/' rel='bookmark' title='简单配置了一下Emacs, 用于Python开发'>简单配置了一下Emacs, 用于Python开发</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.nickcheng.com/2007/10/12/pay-attention-to-the-python-egg-when-use-modpython-and-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Media Temple(dv)上安装配置Django</title>
		<link>http://www.nickcheng.com/2007/10/10/install-and-setup-django-on-media-temple-dvd/</link>
		<comments>http://www.nickcheng.com/2007/10/10/install-and-setup-django-on-media-temple-dvd/#comments</comments>
		<pubDate>Wed, 10 Oct 2007 09:02:00 +0000</pubDate>
		<dc:creator>nickcheng</dc:creator>
				<category><![CDATA[俺的技术]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[dv]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[mediatemple]]></category>
		<category><![CDATA[mt]]></category>
		<category><![CDATA[setup]]></category>

		<guid isPermaLink="false">http://nickcheng.com/2007/10/10/install-and-setup-django-on-media-temple-dvd/</guid>
		<description><![CDATA[在Media Temple(dv)上安装使用Django 选择 MT , 除了他那些知名的客户群, 还看上了他 VPS 系统的高可配置性. 独立的虚机可以让你在上面安装任何你需要的东西, 当然, 你也要懂得怎么去操作. 自己的 Django 项目已经有些雏形了, 所以也要考虑让他能在 MT 上运行了. 虽然前段时间 MT 对他的 (gs) 服务提供了 Django 的支持, 但是 (dv) 服务还是没有官方的 Django 支持, 所以我只能自己动手来安装配置了! 经过一番摸索和尝试, 以及 Richard 同学(这位同学是我在 Django 的 maillist 上找到的可以骚扰的人^_^)的帮助, 我终于在自己的站点上看到了”Worked”的字样. 自己在网上搜索相关资料的时候一直没有看到有人写在 MT 上安装 Django 的经验, 那么我就作为第一个吃螃蟹的人吧, 希望大家在搜索”mt django”关键字的时候能搜到我的文章:) (是否需要再写一篇英文的?) 好吧, 我们开始干活了! 大家在模仿的时候请注意修改你自己的域名和子域名. 在自己的域名下建立一个子域名, 方便我们干活. 我在我的 [...]
Related posts:<ol>
<li><a href='http://www.nickcheng.com/2007/09/05/install-subversion-on-mtdv/' rel='bookmark' title='在MT(dv)上安装Subversion'>在MT(dv)上安装Subversion</a></li>
<li><a href='http://www.nickcheng.com/2007/10/16/the-tiny-difference-between-django-server-and-apache-server/' rel='bookmark' title='Django server和Apache下运行Django的细微差别'>Django server和Apache下运行Django的细微差别</a></li>
<li><a href='http://www.nickcheng.com/2007/09/05/install-yum-on-mtdv/' rel='bookmark' title='在MT(dv)安装yum'>在MT(dv)安装yum</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>在Media Temple(dv)上安装使用Django</p>
<p>选择 MT , 除了他那些知名的客户群, 还看上了他 VPS 系统的高可配置性. 独立的虚机可以让你在上面安装任何你需要的东西, 当然, 你也要懂得怎么去操作.</p>
<p>自己的 Django 项目已经有些雏形了, 所以也要考虑让他能在 MT 上运行了. 虽然前段时间 MT 对他的 (gs) 服务提供了 Django 的支持, 但是 (dv) 服务还是没有官方的 Django 支持, 所以我只能自己动手来安装配置了!</p>
<p>经过一番摸索和尝试, 以及 Richard 同学(这位同学是我在 Django 的 maillist 上找到的可以骚扰的人^_^)的帮助, 我终于在自己的站点上看到了”Worked”的字样. 自己在网上搜索相关资料的时候一直没有看到有人写在 MT 上安装 Django 的经验, 那么我就作为第一个吃螃蟹的人吧, 希望大家在搜索”mt django”关键字的时候能搜到我的文章:) (是否需要再写一篇英文的?)</p>
<p>好吧, 我们开始干活了! 大家在模仿的时候请注意修改你自己的域名和子域名.</p>
<ul>
<li>在自己的域名下建立一个子域名, 方便我们干活. 我在我的 nickcheng.com 域名下建立了一个 lab.nickcheng.com 子域名. 这个工作在 plesk 下就可以搞定. </li>
<li>取得 MT 的 Shell 权限, 并且获得自己的 root 密码, 因为我们需要比较高的权限来做这些事情. root 密码需要在 MT 中提交一个 Support 来获取. </li>
<li>进入 Shell 模式, 切换到 root 权限(使用 su 命令) </li>
<li>切换到子域名 lab 所在的目录, 并建立 Django 目录, 下载/解压缩 Django     <br /><code>       <br />cd /var/www/vhosts/nickcheng.com/subdomains/lab        <br />mkdir django        <br />cd django        <br />wget http://www.djangoproject.com/download/0.96/tarball/        <br />tar xzvf Django-0.96.tar.gz        <br /></code></li>
</ul>
<ul>
<li>安装 Django     <br /><code>       <br />cd /var/www/vhosts/nickcheng.com/subdomains/lab/Django-0.96        <br />python setup.py install        <br /></code></li>
</ul>
<p>上面的步骤如果没错的话, Django 就已经在你的服务器上安装好了. 为了验证一下, 我们可以使用如下的步骤.   <br /><code>     <br />python      <br />import django      <br /></code>    <br />如果没有报错, 那么就证明我们的已经成功安装了 Django. 接下来是配置 Django 站点了.</p>
<ul>
<li>首先不建议把你的 Django 网站的源代码放在 httpdocs 目录下, 因为这样如果操作不当, 会有可能给别人下载你源码的机会, 所以我还是把 Django 网站的源代码放在了之前建立的 django 目录中.     <br /><code>       <br />cd /var/www/vhosts/nickcheng.com/subdomains/lab/django        <br />django-admin.py startproject djangotest        <br /></code></li>
<li>建立了 djangotest 这个 django 网站后, 就是最重要的配置步骤了. 我们先切换到配置文件所在的目录     <br /><code>       <br />cd /var/www/vhosts/nickcheng.com/subdomains/lab/conf        <br /></code></li>
<li>这时这个目录应该是空的, 我们需要自己建立配置文件. 因为 MT 自带了 vi, 所以我用它来做这个事情     <br /><code>       <br />vi vhost.conf        <br /></code></li>
<li>关于 vi 的操作还请大家自己学习. 我贴一下我的 vhost.conf 文件的内容     <br /><code>       <br />&lt;location&gt;        <br />SetHandler python-program        <br />PythonPath &quot;['/var/www/vhosts/nickcheng.com/subdomains/lab/django/'] + sys.path&quot;        <br />PythonHandler django.core.handlers.modpython        <br />SetEnv DJANGO_SETTINGS_MODULE djangotest.settings        <br />PythonDebug On        <br />&lt;/location&gt;</code>
<ul>
<li>第一行, Location 后的路径不是指磁盘上的路径, 而是用户访问网站的路径. 我这里用 “/” 是指用户访问http://lab.nickcheng.com时的配置. </li>
<li>第二行, 指明这个路径下使用的Handler, 这里使用python </li>
<li>第三行, 指明你的 Django 网站源码所在的路径. 需要注意的是, 这里的路径要写你执行 django-admin.py 文件时所在的目录. </li>
<li>第五行, 要写完整你建立的 project 的 settings.</li>
</ul>
</li>
<li>配置完成后, 我们需要重启服务来让他生效.     <br /><code>/usr/local/psa/admin/sbin/websrvmng -a -v</code></li>
</ul>
<p>现在访问 http://lab.nickcheng.com, 应该可以看到 “It worked!” 的字样了:) 我们成功了</p>
<p>Related posts:<ol>
<li><a href='http://www.nickcheng.com/2007/09/05/install-subversion-on-mtdv/' rel='bookmark' title='在MT(dv)上安装Subversion'>在MT(dv)上安装Subversion</a></li>
<li><a href='http://www.nickcheng.com/2007/10/16/the-tiny-difference-between-django-server-and-apache-server/' rel='bookmark' title='Django server和Apache下运行Django的细微差别'>Django server和Apache下运行Django的细微差别</a></li>
<li><a href='http://www.nickcheng.com/2007/09/05/install-yum-on-mtdv/' rel='bookmark' title='在MT(dv)安装yum'>在MT(dv)安装yum</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.nickcheng.com/2007/10/10/install-and-setup-django-on-media-temple-dvd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>djangobook 第四章中的遗漏</title>
		<link>http://www.nickcheng.com/2007/08/25/some-mistakes-in-djangobook-char4/</link>
		<comments>http://www.nickcheng.com/2007/08/25/some-mistakes-in-djangobook-char4/#comments</comments>
		<pubDate>Sat, 25 Aug 2007 02:32:57 +0000</pubDate>
		<dc:creator>nickcheng</dc:creator>
				<category><![CDATA[俺的技术]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://nickcheng.com/2007/08/25/some-mistakes-in-djangobook-char4/</guid>
		<description><![CDATA[在建立模板对象(Creating template objects)这一小节中, 会让读者在解释器下简单试用一下基本函数, 但是这里讲的太简单的, 如果没有对环境进行很好的设置的话, 这几句简单的试用语句是会出错的! 解决方法是要增加两个Windows的环境变量: PYTHONPATH = c:\temp DJANGO_SETTINGS_MODULE = mysite.settings 这里假定我是在 c:\temp 目录下执行的 django-admin.py startproject mysite 来建立的我的工程 这里有有关这个问题的一个讨论(英文) Related posts: 在Media Temple(dv)上安装配置Django 在BlueHost上建立Django站点 Django server和Apache下运行Django的细微差别
Related posts:<ol>
<li><a href='http://www.nickcheng.com/2007/10/10/install-and-setup-django-on-media-temple-dvd/' rel='bookmark' title='在Media Temple(dv)上安装配置Django'>在Media Temple(dv)上安装配置Django</a></li>
<li><a href='http://www.nickcheng.com/2007/01/23/build-django-site-on-bluehost/' rel='bookmark' title='在BlueHost上建立Django站点'>在BlueHost上建立Django站点</a></li>
<li><a href='http://www.nickcheng.com/2007/10/16/the-tiny-difference-between-django-server-and-apache-server/' rel='bookmark' title='Django server和Apache下运行Django的细微差别'>Django server和Apache下运行Django的细微差别</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>在建立模板对象(Creating template objects)这一小节中, 会让读者在解释器下简单试用一下基本函数, 但是这里讲的太简单的, 如果没有对环境进行很好的设置的话, 这几句简单的试用语句是会出错的!</p>
<p>解决方法是要增加两个Windows的环境变量:<br />
<coolcode><br />
PYTHONPATH = c:\temp<br />
DJANGO_SETTINGS_MODULE = mysite.settings<br />
</coolcode></p>
<p>这里假定我是在 c:\temp 目录下执行的 django-admin.py startproject mysite 来建立的我的工程</p>
<p><a href="http://groups.google.com/group/django-users/browse_thread/thread/d732e9ca214b38d3">这里有有关这个问题的一个讨论(英文)</a></p>
<p>Related posts:<ol>
<li><a href='http://www.nickcheng.com/2007/10/10/install-and-setup-django-on-media-temple-dvd/' rel='bookmark' title='在Media Temple(dv)上安装配置Django'>在Media Temple(dv)上安装配置Django</a></li>
<li><a href='http://www.nickcheng.com/2007/01/23/build-django-site-on-bluehost/' rel='bookmark' title='在BlueHost上建立Django站点'>在BlueHost上建立Django站点</a></li>
<li><a href='http://www.nickcheng.com/2007/10/16/the-tiny-difference-between-django-server-and-apache-server/' rel='bookmark' title='Django server和Apache下运行Django的细微差别'>Django server和Apache下运行Django的细微差别</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.nickcheng.com/2007/08/25/some-mistakes-in-djangobook-char4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

