脱离django调试py文件的方法

需要调试某个单独的py模块的时候,启动整个django工程看不到程序抛出的信息,也不能单步调试,很麻烦,通过google在stackoverflow上搜到解决办法:

第一种方法:导入settings对象(注意是对象不是模块)

 

from django.conf import settings 
settings
.configure( 
        DATABASE_ENGINE
='postgresql_psycopg2', 
        DATABASE_NAME
='FOO', 
        DATABASE_USER
='username', 
        DATABASE_PASSWORD
='password', 
        DATABASE_HOST
='localhost', 
        DATABASE_PORT
='5432', 
        INSTALLED_APPS
=('foo',) 

)

如果直接settings.configure(),会报错找不到数据库的配置,所以只能按上面的办法显式指明。

 

更好的办法是:

import django.core.management 
from foo import settings 
django
.core.management.setup_environ(settings) 
这里的关键就是django.core.management的setup_environ函数,该函数源文件docstring的说明:

    Configures the runtime environment. This can also be used by external
    scripts wanting to set up a similar environment to manage.py.
    Returns the project directory (assuming the passed settings module is
    directly in the project directory).

    The "original_settings_path" parameter is optional, but recommended, since
    trying to work out the original path from the module can be problematic.

 目的就是调试外部py文件的时候提供一个django同样的环境 

转载于:https://www.cnblogs.com/babykick/archive/2011/11/01/2231955.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值