﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-美丽的爪哇岛-随笔分类-Python</title><link>http://www.blogjava.net/askcuix/category/32220.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 31 Jul 2008 12:32:57 GMT</lastBuildDate><pubDate>Thu, 31 Jul 2008 12:32:57 GMT</pubDate><ttl>60</ttl><item><title>Django与apache常见配置问题</title><link>http://www.blogjava.net/askcuix/archive/2008/07/31/219070.html</link><dc:creator>Chris.Cui</dc:creator><author>Chris.Cui</author><pubDate>Thu, 31 Jul 2008 07:57:00 GMT</pubDate><guid>http://www.blogjava.net/askcuix/archive/2008/07/31/219070.html</guid><wfw:comment>http://www.blogjava.net/askcuix/comments/219070.html</wfw:comment><comments>http://www.blogjava.net/askcuix/archive/2008/07/31/219070.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/askcuix/comments/commentRss/219070.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/askcuix/services/trackbacks/219070.html</trackback:ping><description><![CDATA[<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ProgId" content="Word.Document" />
<meta name="Generator" content="Microsoft Word 11" />
<meta name="Originator" content="Microsoft Word 11" />
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CChris.Cui%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C05%5Cclip_filelist.xml" /><!--[if gte mso 9]><xml>
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
</xml><![endif]--><!--[if gte mso 9]><![endif]--><style>
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:""@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;
text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;
text-underline:single;}
/* Page Definitions */
@page
{}
@page Section1
{size:595.3pt 841.9pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
/* List Definitions */
@list l0
{}
@list l0:level1
{
margin-left:18.0pt;
text-indent:-18.0pt;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{
mso-style-parent:"";
font-size:10.0pt;
font-family:"Times New Roman";}
</style>
<![endif]-->
<p style="margin-left: 18pt; text-indent: -18pt;">1、&nbsp;Django<span style="font-family: 宋体;">中</span>settings<span style="font-family: 宋体;">的路径问题</span></p>
<p style="text-indent: 15.75pt;"><span style="font-family: 宋体;">要将相对路径改为绝对路径。主要有：</span> MEDIA_ROOT<span style="font-family: 宋体;">、</span>TEMPLATE_DIRS<span style="font-family: 宋体;">、</span>STATIC_PATH<span style="font-family: 宋体;">。</span></p>
<p style="text-indent: 15.75pt;"><span style="font-family: 宋体;">示例：</span></p>
<p style="text-indent: 15.75pt;">MEDIA_ROOT = 'D:/WorkDev/workspace/djangoTest'</p>
<p style="text-indent: 15.75pt;">TEMPLATE_DIRS = (</p>
<p style="text-indent: 15.75pt;"><span>&nbsp;&nbsp;&nbsp; # Put strings here, like
"/home/html/django_templates" or "C:/www/django/templates".</span></p>
<p style="text-indent: 15.75pt;"><span>&nbsp;&nbsp;&nbsp; # Always use forward
slashes, even on Windows.</span></p>
<p style="text-indent: 15.75pt;"><span>&nbsp;&nbsp;&nbsp; # Don't forget to use
absolute paths, not relative paths.</span></p>
<p style="text-indent: 15.75pt;">&nbsp;&nbsp;&nbsp; 'D:/WorkDev/workspace/djangoTest/templates',</p>
<p style="text-indent: 15.75pt;">)</p>
<p style="text-indent: 15.75pt;">STATIC_PATH = 'D:/WorkDev/workspace/djangoTest/media'</p>
<p style="margin-left: 18pt; text-indent: -18pt;">2、&nbsp;httpd.conf<span style="font-family: 宋体;">中应加入</span>mod_python<span style="font-family: 宋体;">的</span>module</p>
<p style="margin-left: 18pt;"><span style="font-family: 宋体;">在</span>http.conf<span style="font-family: 宋体;">中必须加入：</span></p>
<p style="margin-left: 18pt;"><span>LoadModule
python_module modules/mod_python.so</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;">3、&nbsp;VirtualHost<span style="font-family: 宋体;">的配置</span></p>
<p style="margin-left: 18pt;"><span style="font-family: 宋体;">取消</span>httpd.conf<span style="font-family: 宋体;">中</span>Include conf/extra/httpd-vhosts.conf<span style="font-family: 宋体;">前的注释，就可以在</span>httpd-vhosts.conf<span style="font-family: 宋体;">文件中配置</span>VirtualHost<span style="font-family: 宋体;">，</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;">4、&nbsp;PythonPath<span style="font-family: 宋体;">的路径问题</span></p>
<p><span>&nbsp;&nbsp; &lt;Location
"/"&gt;</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>SetHandler python-program</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>PythonPath "['D:/WorkDev/workspace'] + sys.path"</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>PythonHandler django.core.handlers.modpython</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>SetEnv DJANGO_SETTINGS_MODULE djangoTest.settings_apache</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>PythonAutoReload Off</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>PythonDebug On</span></p>
<p style="text-indent: 21.75pt;">&lt;/Location&gt;</p>
<p style="text-indent: 21.75pt;"><span style="font-family: 宋体;">注意这里的</span>PythonPath<span style="font-family: 宋体;">，将</span>project<span style="font-family: 宋体;">的目录加入</span>PythonPath<span style="font-family: 宋体;">时，应为此</span>project<span style="font-family: 宋体;">的上一级目录，比如这里就不能写为&#8216;</span>D:/WorkDev/workspace/ djangoTest<span style="font-family: 宋体;">&#8217;，否则会找不到</span>settings<span style="font-family: 宋体;">的配置。</span></p>
<p style="margin-left: 18pt; text-indent: -18pt;">5、&nbsp;<span style="font-family: 宋体;">静态文件的配置</span></p>
<p style="margin-left: 18pt;"><span style="font-family: 宋体;">为了让图片、</span>css<span style="font-family: 宋体;">、</span>js<span style="font-family: 宋体;">能够被</span>apache<span style="font-family: 宋体;">加载，需进行如下配置：</span></p>
<p style="margin-left: 18pt;"><span>Alias
/site_media D:/WorkDev/workspace/djangoTest/media</span></p>
<p style="margin-left: 18pt;"><span>&lt;Location
"/site_media"&gt;</span></p>
<p style="margin-left: 18pt;">&nbsp;&nbsp;&nbsp; SetHandler None</p>
<p style="margin-left: 18pt;">&lt;/Location&gt;</p>
<p style="margin-left: 18pt; text-indent: -18pt;">6、&nbsp;<span style="font-family: 宋体;">静态文件无法加载的问题</span></p>
<p style="margin-left: 18pt;"><span style="font-family: 宋体;">首先，检查</span>Alias<span style="font-family: 宋体;">设置的路径是否正确；</span></p>
<p style="margin-left: 18pt;"><span style="font-family: 宋体;">其次，检查</span>settings.py<span style="font-family: 宋体;">中的</span>MEDIA_ROOT<span style="font-family: 宋体;">、</span>TEMPLATE_DIRS<span style="font-family: 宋体;">、</span>STATIC_PATH<span style="font-family: 宋体;">是否设置为绝对路径；</span></p>
<p style="margin-left: 18pt;"><span style="font-family: 宋体;">最后，检查</span>apache<span style="font-family: 宋体;">的</span>error<span style="font-family: 宋体;">日志，若发现：</span></p>
<p style="margin-left: 18pt;"><span>[Thu Jul 31
14:36:08 2008] [error] [client 127.0.0.1] client denied by server
configuration: D:/WorkDev/workspace/djangoTest/media/djangopowered.gif,
referer: <a href="http://localhost:8080/address/">http://localhost:8080/address/</a></span></p>
<p style="margin-left: 18pt;"><span style="font-family: 宋体;">那么说明是因为对这些静态文件的访问被拒绝了，应加入</span>Directory<span style="font-family: 宋体;">的配置：</span></p>
<p style="margin-left: 18pt;"><span>&lt;Directory
"D:/WorkDev/workspace/djangoTest/media/"&gt;</span></p>
<p style="margin-left: 18pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Order Deny,Allow</p>
<p style="margin-left: 18pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Allow from all</p>
<p style="margin-left: 18pt;">&lt;/Directory&gt;</p>
<p style="margin-left: 18pt;"><span style="font-family: 宋体;">重启</span>apache<span style="font-family: 宋体;">服务。</span></p>
<p style="margin-left: 18pt;"><span style="font-family: 宋体;">以上均为我在搭建apache+mod_python时遇到的问题，希望能给遇到同样问题的朋友一点帮助。<br />
</span></p>
<img src ="http://www.blogjava.net/askcuix/aggbug/219070.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/askcuix/" target="_blank">Chris.Cui</a> 2008-07-31 15:57 <a href="http://www.blogjava.net/askcuix/archive/2008/07/31/219070.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Django小试</title><link>http://www.blogjava.net/askcuix/archive/2008/06/30/211709.html</link><dc:creator>Chris.Cui</dc:creator><author>Chris.Cui</author><pubDate>Mon, 30 Jun 2008 09:32:00 GMT</pubDate><guid>http://www.blogjava.net/askcuix/archive/2008/06/30/211709.html</guid><wfw:comment>http://www.blogjava.net/askcuix/comments/211709.html</wfw:comment><comments>http://www.blogjava.net/askcuix/archive/2008/06/30/211709.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/askcuix/comments/commentRss/211709.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/askcuix/services/trackbacks/211709.html</trackback:ping><description><![CDATA[&nbsp;&nbsp; 今天按照《<a target="_blank" href="http://www.ibm.com/developerworks/cn/opensource/os-cn-django/">基于Django框架的敏捷web开发</a>》这篇文章尝试了一下django，非常喜欢python的这种web开发方式，但按照文中的示例进行练习时出现了一个错误：Exception Value:
(1146, "Table 'django_news.django_admin_log' doesn't exist")，缺少这么django_admin_log表，在网上找到了这么一条信息：<br />
&nbsp;&nbsp; error:1146, "Table 'demo.django_admin_log' doesn't exist<br />
&nbsp;&nbsp; You create the django_admin_log table with the command manage.py install admin, as explained in the tutorial<br />
&nbsp;&nbsp; command manage.py install admin maybe change to manage.py syncdb admin<br />
&nbsp;&nbsp; 然后尝试manage.py install admin无果，使用manage.py syncdb admin，在mysql中建立了django_admin_log表，问题解决了，该问题可能是因为与作者的django的版本不同造成的，或是作者的遗漏。
<img src ="http://www.blogjava.net/askcuix/aggbug/211709.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/askcuix/" target="_blank">Chris.Cui</a> 2008-06-30 17:32 <a href="http://www.blogjava.net/askcuix/archive/2008/06/30/211709.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>