【问题标题】:PyCharm - Django tutorial autocompleting in HTML filesPyCharm - Django 教程在 HTML 文件中自动完成
【发布时间】:2016-07-17 08:00:13
【问题描述】:

我目前正在学习 Django 教程,但我发现有些麻烦,我不确定是否有解决方法。这是在 PyCharm 中打开的 HTML 文件,我创建了两个模型:问题和选择。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{{ question.question_text }}</title>
</head>
<body>
<h1>{{ question.question_text }}</h1>
<ul>
    {% for choice in question.choice_set.all %}
        <li>{{ choice.choice_text }} -- {{ choice. }}</li>
   {% endfor %}
</ul>
</body>
</html>

当我谈到这部分时,没有显示可供选择的建议,即使那里有东西。

        <li>{{ choice.choice_text }} -- {{ choice. }}</li>

例如,我没有完成的部分应该是choice.votes,但我必须手动输入.votes,因为它不会自动完成。

但是,我可以自动完成问题的 question_text。自动完成功能无法选择是否有原因?有没有办法“修复”它,或者这只是预期的行为?

我才刚刚开始使用 Python 进行编程,但我曾参与过几个大型 Java 项目,而且我知道如果没有 Eclipse 的 Java 变量自动完成功能,记住每个变量的名称将会非常痛苦。

例如,对于本教程,Choice 模型只有几个字段,但是如果我正在处理具有数百个变量的更大的东西怎么办?在这种情况下使用变量时,我是否只需要手动记住变量名?

【问题讨论】:

    标签: python django autocomplete pycharm


    【解决方案1】:

    一般来说,PyCharm 不会自动完成 django 模板语法,因为它不知道哪个视图将呈现模板。因此,就上下文而言,它不知道会发生什么。

    话虽如此,我想您的自动完成功能来自&lt;h1&gt;{{ question.question_text }}&lt;/h1&gt; 上方的&lt;title&gt; 标签。你之前已经从question 访问过question_text,所以PyCharm 知道question 对象包含question_text

    PyCharm 在 .py 文件中的自动完成功能通常非常好,但是是的,在模板中您将在没有自动完成帮助的情况下访问属性。

    【讨论】:

    • 试用最新版本。 PyCharm 中的新增功能视频展示了一个示例。
    • @PaulEveritt 我在发布更新时热情地安装了新的 PyCharm,但不幸的是,如果我尝试使用这些功能并在模板中自动完成(在至少在我的配置中)似乎不起作用。话虽如此,我知道您在 PyCharm 中的角色,我无法充分表达我对 PyCharm 的喜爱程度。如果有一个特定的配置可以在模板中启用模型字段的自动完成,我很乐意看到你的答案。感谢您的评论!
    • 感谢您的客气话。你能把一些小的 Djano 项目放在 GitHub 上的 repo 中,也许我可以看看。另外,请记住这是 PyCharm Professional 的一项功能。
    【解决方案2】:

    @rococo,你需要将你的应用设置到 Pycharm 中。

    进入文件/设置/语言和框架/Django。

    在出现的屏幕中,执行以下操作:

    -> Mark "Enable Django Support"
    
    -> Fill Django Project root with: "your project root folder"
    
    -> Fill Settings with: "your settings file into the project"
    
    -> Fill Manage script with: "manage.py"
    

    就是这样,您可能已经准备好更快、更舒适地开发了。 最好的问候!

    【讨论】:

      猜你喜欢
      • 2021-08-14
      • 2020-05-26
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      • 2015-03-05
      • 1970-01-01
      • 2018-08-27
      • 2014-03-14
      相关资源
      最近更新 更多