Visual Studio PyTools从现有代码创建Django项目

时间:2017-01-02 21:25:59

标签: python django visual-studio

我正在研究一些django项目。以前我一直在使用Visual Studio Code,但现在我想用pytools切换到Visual Studio 2015。 到目前为止我做了什么

  1. 克隆我的git存储库
  2. 从现有的python代码创建新的python项目(没有'从现有的python代码创建django项目..)
  3. 项目已创建,所有文件均已导入
  4. 当我尝试运行项目时,我收到了多个缺失包错误。我使用了Python.InstallPackage并安装了requirements.txt中的所有包。
  5. 我已将Project-> properties-> Debug->启动模式设置为'Django Web Lanucher'并设置运行服务器命令和调试服务器命令(我将它们从清晰的djang项目复制 - 我不要'我知道它是否可以..)
  6. 当我右键单击项目并展开菜单'Python'时,我只有'Run PyLint'。在Clear项目中有很多选择..
  7. 现在,当我启动项目时,我只能看到一个带有信息的Windows命令窗口
  8.   

    输入'manage.py help<子命令>'有关特定子命令的帮助

         

    可用的子命令:

         

    [验证]

         

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

    我应该怎么做才能使我创建的现有代码项目像清除django项目一样(它可以运行postgresql服务器和谷歌浏览器)?

2 个答案:

答案 0 :(得分:2)

我一直试图让这个工作接近3个小时,我无法弄明白。我认为问题在于Python的“从现有代码导入”选项无法识别这是一个Django项目,而只是将其视为Python项目。 VS正在运行manage.py,好像它是一个完整的Python程序,但是Django期望传递给程序的参数可以用它做更多的事情。当你启动一个新的Django项目时,VS会自动为你完成所有这些工作,这样可以更轻松地完成它。

我已经放弃了如何本地执行此操作,尽管我可能会向Visual Studio的Python工具发出请求,看看是否可以将其包含在将来的版本中。现在,我只是在一个新的Django项目中重新创建代码,以便我可以开始研究它。

如果有人能够找到更好的解决方案,我肯定会感兴趣,因为我意识到这不是一个很好的答案。如果我从Python工具的Devs回复,我将更新这篇文章。

- Edit-- 似乎开发者已经意识到了这一点。这可以在这里找到。 https://github.com/Microsoft/PTVS/issues/2036

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

答案 1 :(得分:1)

我在尝试使用Visual Studio Community 2017中的现有Django项目时遇到了同样的问题。为了使其工作,我不得不手动编辑项目的“projectname.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" />

执行此操作并正确设置环境(确保路径正确)后,它开始为我工作。