Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从空闲运行Django_Django_Python Idle - Fatal编程技术网

从空闲运行Django

从空闲运行Django,django,python-idle,Django,Python Idle,我希望在windows中以空闲shell的形式测试我的django项目。 我运行以下命令 from django.template import Template, Context t = Template('test template') 但我得到以下错误 Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> t = Template('test templat

我希望在windows中以空闲shell的形式测试我的django项目。 我运行以下命令

from django.template import Template, Context
t = Template('test template')
但我得到以下错误

Traceback (most recent call last):


File "<pyshell#1>", line 1, in <module>
    t = Template('test template')
  File "C:\Program Files\Python26\lib\site-packages\django\template\__init__.py", line 164, in __init__
    if settings.TEMPLATE_DEBUG and origin is None:
  File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 28, in __getattr__
    self._import_settings()
  File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 59, in _import_settings
    self._target = Settings(settings_module)
  File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 94, in __init__
    raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'C:\Program Files\Python26\Lib\site-packages\django\conf' (Is it on sys.path? Does it have syntax errors?): Import by filename is not supported.
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
t=模板(“测试模板”)
文件“C:\Program Files\Python26\lib\site packages\django\template\\ uuu init\uuu.py”,第164行,在\uu init中__
如果settings.TEMPLATE_DEBUG and origin为无:
文件“C:\Program Files\Python26\lib\site packages\django\conf\\ uuuuu init\uuuuuu.py”,第28行,在\uuuu getattr中__
self.\u导入\u设置()
文件“C:\Program Files\Python26\lib\site packages\django\conf\\ uuuu init\uuuuu.py”,第59行,在导入设置中
self.\u target=设置(设置\u模块)
文件“C:\Program Files\Python26\lib\site packages\django\conf\\ uuuuu init\uuuuu.py”,第94行,在uu init中__
raise ImportError,“无法导入设置“%s”(是否在sys.path上?是否有语法错误?):%s“%(self.settings\u模块,e)
ImportError:无法导入设置“C:\Program Files\Python26\Lib\site packages\django\conf”(是否在sys.path上?是否有语法错误?):不支持按文件名导入。

你能帮我吗?

Django需要加载几个文件,比如你的settings.py。为了帮助完成这项任务,Django附带了它自己的(可以是空闲的)。如果您已经安装,Django将使用它

要访问shell,请使用根目录中的manage.py文件:

python manage.py shell
idle models.py
如果您仍然想完全在“/manage.py shell”的范围之外使用IDLE,请查看manage.py文件,查看Django如何加载所有必需的文件


另外,还可以查看(它提供了一些很好的附加功能,如自动加载所有模型)。

创建一个快捷方式,然后对其进行修改,使其具有类似以下参数:

C:\Python27\pythonw.exe C:\Python27\lib\idlelib\idle.py-rd:\projects\project\u X\manage.py shell

如果您在Windows上有
PYTHONSTARTUP
,它将运行,但随后将启动一个新进程,丢失您在
PYTHONSTARTUP
文件中定义的所有函数

实际上,您将看到它在下面两次启动(第一次是绿色,然后是红色):

win32上的Python 2.7.2(默认值,2011年6月12日,15:08:59)[MSC v.1500 32位(英特尔)] 有关详细信息,请键入
版权
信用证
许可证()

startup.py刚刚运行

win32上的Python 2.7.2(默认值,2011年6月12日,15:08:59)[MSC v.1500 32位(英特尔)] 键入
帮助
版权
信用证
许可证
,了解更多信息, (InteractiveConsole)

在安装virtual env、shell_plus和ipython之前,情况就是这样。以下三种方法中的一种将其冲洗干净-现在在空闲控制台中获取垃圾:


0;32mIn-1;32m10;32m:0m要使用cmd中的idle,我在Windows 7中执行了以下操作:

  • 确保Path系统环境变量包含指向idle.py位置的路径(如C:\Python27\Lib\idlelib)。在那里,我还确保包含python和Scripts文件夹(后者在由pip安装时包含django-manage.py)

    路径:C:\Python27\;C:\Python27\脚本;C:\Python27\Lib\idlelib

    上面显示的路径可能因python的安装而异

  • 可选:为了避免键入.py扩展名,我确保PATHTEXT系统环境变量包含.py扩展名

    PATHTEXT:.COM。EXE.PY

  • 现在,在使用cmd时,我要做的就是输入以下命令以空闲运行:

    • 打开空闲文件(位于同一目录中):

      这将打开models.py文件以在空闲状态下进行编辑

    • 使用idle打开shell(与manage.py位于同一目录中)

    注意:如果.PY不在PATHTEXT系统环境变量中,则可能需要将.PY扩展名添加到idle


    现在你可以利用空闲时间了。希望有帮助

    假设您在Windows上:

  • 右键单击空闲链接以获取属性。将目标路径更改为django项目运行的路径(包含manage.py文件的目录)
  • 空转
  • 执行

    导入os;os.Enviro.setdefault(“DJANGO\u设置\u模块”、“我的项目\u根目录\u名称.SETTINGS”)

  • 现在您的IDLE设置了正确的上下文,以了解您的设置并在django路径中执行类

    请告诉我你是否能想出更优雅的方式。
    (使用Python 3.6在Win 10下进行测试)

    您只需从Django项目目录空闲运行即可。如果您使用的是virtualenv:

    cd /your/virtualenv/directory
    . bin/activate
    cd project_directory
    python -m idlelib.idle
    

    仅此而已。您可以从Django项目导入并运行任何模块和函数。

    如果路径中有空闲,您可以运行:

    idle -r manage.py shell
    
    python -m idlelib -r manage.py shell
    
    如果路径中没有空闲,并且不想添加空闲,则可以运行:

    idle -r manage.py shell
    
    python -m idlelib -r manage.py shell
    

    *这个答案是基于Alexandro Perez的。

    只需创建一个名为
    manage2.py
    (在同一目录中)的新文件,使用相同的代码
    manage.py
    ,并将行
    execute from_command_line(sys.argv)
    替换为
    execute from_command_line(['shell'))
    。之后,只需在空闲时运行
    manage.py
    。此方法的优点是在空闲时使用代码完成。

    需要澄清的是,django并没有真正的“它自己的shell”,它实际上只是使用默认的python shell,但在启动之前让您的项目模块对它可用。