Pycharm,启动脚本不运行
问题描述:
根据official docs和this previous question,只需将代码放入设置中的启动脚本字段即可。我已经这样做了,但是我的代码没有运行。我开始脚本是:Pycharm,启动脚本不运行
import sys
import django
import django_manage_shell
from www.models import *
print('Python %s on %s' % (sys.version, sys.platform))
print('Django %s' % django.get_version())
sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])
if 'setup' in dir(django):
django.setup()
django_manage_shell.run(PROJECT_ROOT)
print("test")
test = "test"
重新启动控制台后,应用程序模型是不可用的,没有“测试”被认为是和test
对象不存在。
然而,一些它得到运行,因为django
已成功导入:
In[3]: django
Out[3]:
<module 'django' from '/home/emil/GP/env/lib/python3.5/site-packages/django/__init__.py'>
如何获得控制台自动运行脚本,我把?具体来说,我希望它自动导入模型。
答
您的代码存在问题。您正在使用PROJECT_ROOT
,但不能将其设置在任何地方。你也应该导入模型django.setup()
import sys
import django
import django_manage_shell
print('Python %s on %s' % (sys.version, sys.platform))
print('Django %s' % django.get_version())
sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])
if 'setup' in dir(django):
django.setup()
PROJECT_ROOT = WORKING_DIR_AND_PYTHON_PATHS
django_manage_shell.run(PROJECT_ROOT)
from django.apps import apps
for _class in apps.get_models():
globals()[_class.__name__] = _class
print("test")
test = "test"
我使用了Pycharm的默认代码。我的帖子被编辑以混淆代码的顺序。 – Deleet