visualstudiopytools从现有的cod创建Django项目

2024-09-30 23:41:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一些django项目。以前我一直在使用visualstudio代码,但现在我想用pytools切换到visualstudio2015。 到目前为止我所做的

  1. 克隆我的git存储库
  2. 从现有的python代码创建新的python项目(没有“createdjango project From existing python code…”)
  3. 项目已创建,所有文件都已导入
  4. 当我试图运行项目时,我收到了多个丢失的包错误。我用过Python.InstallPackage安装了来自要求.txt. 在
  5. 我已经将项目->属性->调试->启动模式设置为'Django Web Lanucher',并设置了Run Server命令和Debug Server命令(我从clear djang Project复制了它们-我不知道是否可以…)
  6. 当我右键单击项目并展开菜单“Python”时,我只有“runpylint”。在Clear project中有许多选项。。在
  7. 现在当我启动项目时,我只能看到一个包含信息的windows命令窗口

Type 'manage.py help < subcommand >' for help on a specific subcommand

Available subcommands:

[auth]

etc

当我创建一个清晰的、新的django项目并单击run时,它会打开googlechrome with django模板站点(即使在运行按钮上也有“googlechrome”文本)。 在“从现有代码创建”项目中,只有“开始”文本。在

我应该怎么做才能使我从现有代码创建的项目像cleardjango项目一样(它应该运行postgresqlserver和googlechrome)?在


Tags: 项目django代码文本git命令projectserver
2条回答

我已经试着让它工作了将近3个小时了,但我还是没能弄明白。我认为问题在于Python的“import from existing code”选项没有识别出这是一个Django项目,而只是将其视为Python项目。VS正在运行管理.py就好像它是一个完整的Python程序一样,但是Django希望有参数传递给该程序来处理它。当您启动一个新的Django项目时,VS会自动为您完成所有这些工作,并使工作变得更加容易。在

虽然我可能会向Python Tools for visualstudio的开发人员提出一个请求,看看是否可以在将来的版本中包含这一点,但我已经放弃了在本机上实现这一点的想法。现在,我只打算在一个新的Django项目中重新创建代码,这样我就可以开始工作了。在

如果有人能找到更好的解决方案,我肯定会感兴趣,因为我意识到这不是一个很好的答案。如果我从pythontools的开发人员那里得到反馈,我将更新这篇文章。在

编辑 开发人员似乎已经意识到了这一点。这个可以在这里找到。 https://github.com/Microsoft/PTVS/issues/2036

我通过重新定义项目的属性找到了一个解决方法。对我来说,我将启动模式更改为“djangoweblauncher”,将脚本参数更改为“runserver”,并将端口号更改为“8000”。现在,我相信默认情况下可用的其他命令(makemigrations、createsuperuser等)仍然存在问题,但这至少可以让服务器在项目运行时在默认浏览器中运行和打开。在

我在尝试使用VisualStudioCommunity2017中现有的Django项目时遇到了同样的问题。为了让它工作,我不得不手动编辑项目的“项目名称.pyproj“文件(使用任何文本编辑器)。在

为了让django工具显示在项目菜单中,我不得不禁用常规Python工具,并用django特定的工具替换它们(对我来说,这接近文件的末尾):

<!  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Python Tools\Microsoft.PythonTools.targets" />  >

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Python Tools\Microsoft.PythonTools.Django.targets" />

在完成这项工作并正确设置环境(确保路径正确)之后,它开始为我工作。在

相关问题 更多 >