我正在使用Eclipse IDE和PyDev Plugin为我的Python Web应用程序使用Django框架。 如何使用调试功能?如何在Web应用程序中启用Eclipse调试功能?
UPDATES1 特别是使用http://pydev.org/updates插件
UPDATES2 我已经做了以下内容:
.pydevproject
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse-pydev version="1.0"?>
<pydev_project>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Python25
</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.5
</pydev_property>
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
<path>/pi-proto</path>
</pydev_pathproperty>
<pydev_pathproperty name="org.python.pydev.PROJECT_EXTERNAL_SOURCE_PATH">
<path>C:\Program Files\GeoDjango\Django-1.0.2-final</path>
<path>C:\eclipse-SDK-3.7-win32\plugins\org.python.pydev.debug_2.2.3.2011100616\pysrc
</path>
</pydev_pathproperty>
</pydev_project>
manage.py
#!/usr/bin/env python
from django.core.management import execute_manager
try:
import settings # Assumed to be in the same directory.
except ImportError:
import sys
sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
sys.exit(1)
if __name__ == "__main__":
import sys
if len(sys.argv) > 1:
command = sys.argv[1]
if settings.DEBUG and (command == "runserver" or command == "testserver"):
# Make pydev debugger works for auto reload.
try:
import pydevd
except ImportError:
sys.stderr.write("Error: " +
"You must add org.python.pydev.debug.pysrc to your PYTHONPATH.")
sys.exit(1)
from django.utils import autoreload
m = autoreload.main
def main(main_func, args=None, kwargs=None):
import os
if os.environ.get("RUN_MAIN") == "true":
def pydevdDecorator(func):
def wrap(*args, **kws):
pydevd.settrace(suspend=False)
return func(*args, **kws)
return wrap
main_func = pydevdDecorator(main_func)
return m(main_func, args, kwargs)
autoreload.main = main
execute_manager(settings)
运行配置 - 参数
runserver 0.0.0.0:8001
UPDATES3 我下面这个链接http://bear330.wordpress.com/2007/10/30/how-to-debug-django-web-application-with-autoreload/
但没有成功。你会指导我如何正确地遵循上面的链接..然后我会在这里更新结果。
UPDATES4 我使用Python 2.5.2,GeoDjango 1.2.7,Eclipse Indigo和PyDev Plugin。
这是非常有用的,但我不能跟着它成功。你会引导我通过更新上面的代码或告诉我该怎么做... – eros
在'if __name__ =='__main __“:'之前,添加'import pydevd; pydevd.patch_django_autoreload()'并在autoreload.py中,应用来自http:// stackoverflow的修补程序。com/questions/2746512/pydev-and-django-how-to-restart-dev-server/7648375#7648375 –
我正在使用GeoDjango 1.2.7和Python 2.5.2。任何版本的细节来应用补丁? – eros