2007年03月29日 星期四 19:35
大家好, 我用 Django 构建的程序在本机 (Windows XP) 运行正常,但部署到 linux 服务器后,今天发现 url 配置里有一些能生效,有一些却总是提示 500 错误。 不知道该如何入手调试? 之前相关功能都是正常的。 Traceback (most recent call last): File "/usr/local/lib/python2.4/site-packages/django/core/servers/basehttp.py", line 272, in run self.result = application(self.environ, self.start_response) File "/usr/local/lib/python2.4/site-packages/django/core/servers/basehttp.py", line 614, in __call__ return self.application(environ, start_response) File "/usr/local/lib/python2.4/site-packages/django/core/handlers/wsgi.py", line 189, in __call__ response = self.get_response(request) File "/usr/local/lib/python2.4/site-packages/django/core/handlers/base.py", line 126, in get_response return callback(request, **param_dict) File "/usr/local/lib/python2.4/site-packages/django/views/defaults.py", line 88, in server_error t = loader.get_template(template_name) # You need to create a 500.html template. File "/usr/local/lib/python2.4/site-packages/django/template/loader.py", line 79, in get_template source, origin = find_template_source(template_name) File "/usr/local/lib/python2.4/site-packages/django/template/loader.py", line 72, in find_template_source raise TemplateDoesNotExist, name TemplateDoesNotExist: 500.html
2007年03月29日 星期四 19:59
¸øÄã¿´ÏÂÎҼǼµÄ²¿Êð¼ÍÒª *1 apacheÅäÖ÷½Ã棬¶ÀÁ¢Õ¾µãÐèµ¥¶ÀÅäÖÃsys.path·¾¶£¬Ê¹djangoÄܹ»ÕýÈ·ÕÒµ½ÏîÄ¿µÄsettingsÎļþ* *2 ÉÏ´«Îļþ·½Ã棬Ðè×¢ÒâĿ¼ÊôÐÔ£¨Èç¹û»ùÓÚLinux£©£¬¶à´ÎÉÏ´«³öÏÖIO´íÎó¶¼ÊÇÊÜȨÏÞÓ°Ïì* *3 ÉÏ´«Îļþ·½Ã棬ÐÞ¸ÄsettingsÎļþ¶à´¦ÊôÐÔ£¬°üÀ¨MEDIA_ROOT¡¢GROUP_ICON_PATH ¡¢USER_ICON_PATH £¬ºóÃæÁ½¸ö×îºÃÐÞ¸ÄΪ¾ø¶Ô·¾¶¡£* *4 settings·½Ã棬ÐèÐÞ¸ÄʱÇøGTM-8 £¬ÐÞ¸ÄÓïÑÔzh-cn£¬×îºÃÓÉdjangoÉú³ÉÏîÄ¿°ü£¬±£Ö¤SECRET_KEYµÄËæ»úÐÔ£¬Ç¿»¯°²È«ÐÔ* *5 apacheÒÔϲ¿·Ö£º* *SetHandler None * *ËùÓо²Ì¬ÄÚÈݱØÐëÖ÷ÒⲿÊð£¬ÅäºÏ* *Alias /js /home/****** *·¾¶£¬ÒÔ½â¾ö¾²Ì¬ÄÚÈÝÎÞ·¨¶ÁÈ¡µÄÎÊÌâ* ÒÔÉÏÖ÷ÒªÊÇÕë¶Ô×Ô¼ºµÄ³ÌÐòдµÄ£¬Äã¿ÉÒÔ°´ÕÕÕâ¸ö¼ì²éһϠ-------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070329/03911e9c/attachment.htm
2007年03月29日 星期四 20:05
谢谢风向标, 忘记说了,我的代码目前在服务器上也是用的 dev server, 还没上 apache. 所以问题肯定和 apache 无关。 静态资源是可以访问的。 其他朋友如果有相关经验也请点拨一下,谢谢。 在 07-3-29,风向标<vaneoooo在gmail.com> 写道: > 给你看下我记录的部署纪要 > > > > 1 apache配置方面,独立站点需单独配置sys.path路径,使django能够正确找到项目的settings文件 > > 2 上传文件方面,需注意目录属性(如果基于Linux),多次上传出现IO错误都是受权限影响 > > 3 上传文件方面,修改settings文件多处属性,包括MEDIA_ROOT、GROUP_ICON_PATH > 、USER_ICON_PATH ,后面两个最好修改为绝对路径。 > > 4 settings方面,需修改时区GTM-8 > ,修改语言zh-cn,最好由django生成项目包,保证SECRET_KEY的随机性,强化安全性 > > 5 apache以下部分: > >> SetHandler None > > > 所有静态内容必须主意部署,配合 > > Alias /js /home/***** > > 路径,以解决静态内容无法读取的问题 > > > > 以上主要是针对自己的程序写的,你可以按照这个检查一下 > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to > python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > Detail Info: > http://python.cn/mailman/listinfo/python-chinese >
2007年03月29日 星期四 20:22
On 3/29/07, Neil(木野狐) <chenrong2003 at gmail.com> wrote: > > 大家好, > 我用 Django 构建的程序在本机 (Windows XP) 运行正常,但部署到 linux 服务器后,今天发现 url > 配置里有一些能生效,有一些却总是提示 500 错误。 > 不知道该如何入手调试? > > 之前相关功能都是正常的。 > > Traceback (most recent call last): > > File > "/usr/local/lib/python2.4/site-packages/django/core/servers/basehttp.py", > line 272, in run > self.result = application(self.environ, self.start_response) > > File > "/usr/local/lib/python2.4/site-packages/django/core/servers/basehttp.py", > line 614, in __call__ > return self.application(environ, start_response) > > File > "/usr/local/lib/python2.4/site-packages/django/core/handlers/wsgi.py", > line 189, in __call__ > response = self.get_response(request) > > File > "/usr/local/lib/python2.4/site-packages/django/core/handlers/base.py", > line 126, in get_response > return callback(request, **param_dict) > > File "/usr/local/lib/python2.4/site-packages/django/views/defaults.py", > line 88, in server_error > t = loader.get_template(template_name) # You need to create a > 500.html template. > > File "/usr/local/lib/python2.4/site-packages/django/template/loader.py", > line 79, in get_template > source, origin = find_template_source(template_name) > > File "/usr/local/lib/python2.4/site-packages/django/template/loader.py", > line 72, in find_template_source > raise TemplateDoesNotExist, name > > TemplateDoesNotExist: 500.html > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese 强烈建议你配好邮件服务器,当 DEBUG 为 false 时,发生异常时,会将详细异常信息发送邮件。 你上面给的那些 traceback 并不是真正发生的异常的 traceback ,那是发生 500 错误时,django 试图找到 500.html模板,没有找到模板而发生的异常。 而关于发生邮件服务器,这里有一个小技巧:http://www.djangosnippets.org/snippets/96/ -- http://codeplayer.blogspot.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070329/dd9a7237/attachment.htm
2007年03月29日 星期四 20:29
yihuang, 谢谢,很有用的技巧。我试试看能否解决我的问题。 在 07-3-29,yi huang<yi.codeplayer在gmail.com> 写道: > > > 强烈建议你配好邮件服务器,当 DEBUG 为 false 时,发生异常时,会将详细异常信息发送邮件。 > 你上面给的那些 traceback 并不是真正发生的异常的 traceback ,那是发生 500 错误时,django 试图找到 500.html > 模板,没有找到模板而发生的异常。 > > 而关于发生邮件服务器,这里有一个小技巧:http://www.djangosnippets.org/snippets/96/ > > -- > http://codeplayer.blogspot.com/ > _______________________________________________
2007年03月29日 星期四 20:40
我刚才也试了一下(刚才回复的时候我也还没试过),发现很简单: settings.py 里面的 ADMINS 里面的那行解除注释。然后启动这个 smtp 服务器<http://www.djangosnippets.org/snippets/96/> ,就 ok 了! 当然如果使用真正的 smtp 服务器的话就要多配一些东西了,文档里都说得蛮清楚的。 On 3/29/07, Neil(木野狐) <chenrong2003 at gmail.com> wrote: > > yihuang, > 谢谢,很有用的技巧。我试试看能否解决我的问题。 > > 在 07-3-29,yi huang<yi.codeplayer at gmail.com> 写道: > > > > > > 强烈建议你配好邮件服务器,当 DEBUG 为 false 时,发生异常时,会将详细异常信息发送邮件。 > > 你上面给的那些 traceback 并不是真正发生的异常的 traceback ,那是发生 500 错误时,django 试图找到 > 500.html > > 模板,没有找到模板而发生的异常。 > > > > 而关于发生邮件服务器,这里有一个小技巧:http://www.djangosnippets.org/snippets/96/ > > > > -- > > http://codeplayer.blogspot.com/ > > _______________________________________________ > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -- http://codeplayer.blogspot.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070329/d5c834d9/attachment.htm
2007年03月29日 星期四 21:25
这个 Code Snippet 无疑是最有用的一个之一! 我如法配置了之后发现很快就生成了一个 .eml 文件。其内容揭示了错误的原因。 原来我的 urls.py 没有错,错的是其中指向的一个 view,那个文件里我 import 了一个今天新加的模块,而这个新加的模块忘记了上传到服务器上,结果导致 import 失败! 如果不是这个办法真的怎么也想不到这个原因。感觉这里 django 处理的有失妥当,如果能忽略错误的 views, 继续处理配置正确的 urls, 而把不能导入的错误信息用某种方式输出到 log里面不是更好吗? 非常感谢 yihuang. 在 07-3-29,yi huang<yi.codeplayer在gmail.com> 写道: > 我刚才也试了一下(刚才回复的时候我也还没试过),发现很简单: > > settings.py 里面的 ADMINS 里面的那行解除注释。然后启动这个 smtp 服务器 ,就 ok 了! > 当然如果使用真正的 smtp 服务器的话就要多配一些东西了,文档里都说得蛮清楚的。 > > On 3/29/07, Neil(木野狐) <chenrong2003在gmail.com> wrote: > > > > yihuang, > > 谢谢,很有用的技巧。我试试看能否解决我的问题。 > > > > 在 07-3-29,yi huang< yi.codeplayer在gmail.com> 写道: > > > > > > > > > 强烈建议你配好邮件服务器,当 DEBUG 为 false 时,发生异常时,会将详细异常信息发送邮件。 > > > 你上面给的那些 traceback 并不是真正发生的异常的 traceback ,那是发生 500 错误时,django 试图找到 > 500.html > > > 模板,没有找到模板而发生的异常。 > > > > > > > 而关于发生邮件服务器,这里有一个小技巧:http://www.djangosnippets.org/snippets/96/ > > > > > > -- > > > http://codeplayer.blogspot.com/ > > > _______________________________________________ > > _______________________________________________ > > python-chinese > > Post: send python-chinese在lists.python.cn > > Subscribe: send subscribe to > python-chinese-request在lists.python.cn > > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > > Detail Info: > http://python.cn/mailman/listinfo/python-chinese > > > > -- > http://codeplayer.blogspot.com/ > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to > python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > Detail Info: > http://python.cn/mailman/listinfo/python-chinese >
2007年03月29日 星期四 21:53
你把DEBUG打开岂不是更简单、更有用一点? ;-) 在 2007-03-29四的 21:25 +0800,Neil(木野狐)写道: > 这个 Code Snippet 无疑是最有用的一个之一! > 我如法配置了之后发现很快就生成了一个 .eml 文件。其内容揭示了错误的原因。 > 原来我的 urls.py 没有错,错的是其中指向的一个 view,那个文件里我 import > 了一个今天新加的模块,而这个新加的模块忘记了上传到服务器上,结果导致 import 失败! > > 如果不是这个办法真的怎么也想不到这个原因。感觉这里 django 处理的有失妥当,如果能忽略错误的 views, 继续处理配置正确的 > urls, 而把不能导入的错误信息用某种方式输出到 log里面不是更好吗? > > 非常感谢 yihuang. > > 在 07-3-29,yi huang<yi.codeplayer at gmail.com> 写道: > > 我刚才也试了一下(刚才回复的时候我也还没试过),发现很简单: > > > > settings.py 里面的 ADMINS 里面的那行解除注释。然后启动这个 smtp 服务器 ,就 ok 了! > > 当然如果使用真正的 smtp 服务器的话就要多配一些东西了,文档里都说得蛮清楚的。 > > > > On 3/29/07, Neil(木野狐) <chenrong2003 at gmail.com> wrote: > > > > > > yihuang, > > > 谢谢,很有用的技巧。我试试看能否解决我的问题。 > > > > > > 在 07-3-29,yi huang< yi.codeplayer at gmail.com> 写道: > > > > > > > > > > > > 强烈建议你配好邮件服务器,当 DEBUG 为 false 时,发生异常时,会将详细异常信息发送邮件。 > > > > 你上面给的那些 traceback 并不是真正发生的异常的 traceback ,那是发生 500 错误时,django 试图找到 > > 500.html > > > > 模板,没有找到模板而发生的异常。 > > > > > > > > > > 而关于发生邮件服务器,这里有一个小技巧:http://www.djangosnippets.org/snippets/96/ > > > > > > > > -- > > > > http://codeplayer.blogspot.com/ > > > > _______________________________________________ > > > _______________________________________________ > > > python-chinese > > > Post: send python-chinese at lists.python.cn > > > Subscribe: send subscribe to > > python-chinese-request at lists.python.cn > > > Unsubscribe: send unsubscribe to > > python-chinese-request at lists.python.cn > > > Detail Info: > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > -- > > http://codeplayer.blogspot.com/ > > _______________________________________________ > > python-chinese > > Post: send python-chinese at lists.python.cn > > Subscribe: send subscribe to > > python-chinese-request at lists.python.cn > > Unsubscribe: send unsubscribe to > > python-chinese-request at lists.python.cn > > Detail Info: > > http://python.cn/mailman/listinfo/python-chinese > > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese
2007年03月29日 星期四 22:01
> > 感觉这里 django 处理的有失妥当,如果能忽略错误的 views, 继续处理配置正确的 > urls, 而把不能导入的错误信息用某种方式输出到 log里面不是更好吗? django 本身好像不用 log 的,都是通过发生邮件的方式记录错误,我想发邮件有时候比 log 更有效。而且通过现在这个 smtp 服务器,不就等于是 log 了吗,呵呵。 你应该为服务器异常写一个 500.html 模板了 ;-) -- http://codeplayer.blogspot.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070329/93944a86/attachment.htm
2007年03月29日 星期四 22:36
呵呵,我写了 500 和 404 模板的。可是出错了之后为了看到错误信息,才故意去掉了。 在 07-3-29,yi huang<yi.codeplayer在gmail.com> 写道: > > > 感觉这里 django 处理的有失妥当,如果能忽略错误的 views, 继续处理配置正确的 > > urls, 而把不能导入的错误信息用某种方式输出到 log里面不是更好吗? > > django 本身好像不用 log 的,都是通过发生邮件的方式记录错误,我想发邮件有时候比 log 更有效。而且通过现在这个 smtp > 服务器,不就等于是 log 了吗,呵呵。 > > 你应该为服务器异常写一个 500.html 模板了 ;-) > > -- > http://codeplayer.blogspot.com/ ====== DEBUG 信息打开是否能看到真实错误现在不敢确定,下次我一定试一下。谢谢。 vcc <vcc在163.com> 致 python-chinese 显示详细信息 21:53 (41分钟前) 你把DEBUG打开岂不是更简单、更有用一点? ;-)
2007年03月29日 星期四 22:56
> > 呵呵,我写了 500 和 404 模板的。可是出错了之后为了看到错误信息,才故意去掉了。 这个没有关系的。DEBUG false 的时候,有 500.html 模板也还是会发邮件,DEBUG true 的时候,有 500.html也不会显示。 DEBUG 信息打开是否能看到真实错误现在不敢确定,下次我一定试一下。谢谢。 > 打开 DEBUG 自然是方便多了,前面的方法都是在不方便打开 DEBUG (比如部署在 production环境下)的时候起作用的。 On 3/29/07, Neil(木野狐) <chenrong2003 at gmail.com> wrote: > > 呵呵,我写了 500 和 404 模板的。可是出错了之后为了看到错误信息,才故意去掉了。 > > 在 07-3-29,yi huang<yi.codeplayer at gmail.com> 写道: > > > > > 感觉这里 django 处理的有失妥当,如果能忽略错误的 views, 继续处理配置正确的 > > > urls, 而把不能导入的错误信息用某种方式输出到 log里面不是更好吗? > > > > django 本身好像不用 log 的,都是通过发生邮件的方式记录错误,我想发邮件有时候比 log 更有效。而且通过现在这个 smtp > > 服务器,不就等于是 log 了吗,呵呵。 > > > > 你应该为服务器异常写一个 500.html 模板了 ;-) > > > > -- > > http://codeplayer.blogspot.com/ > > ====== > > DEBUG 信息打开是否能看到真实错误现在不敢确定,下次我一定试一下。谢谢。 > > > vcc <vcc at 163.com> 致 python-chinese > 显示详细信息 21:53 (41分钟前) > > 你把DEBUG打开岂不是更简单、更有用一点? ;-) > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese -- http://codeplayer.blogspot.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20070329/6c00d75d/attachment.htm
Zeuux © 2025
京ICP备05028076号