【问题标题】:Pycharm failing to resolve django urlsPycharm 无法解析 django url
【发布时间】:2019-02-20 03:34:21
【问题描述】:

我正在运行 Pycharm 2016.1 并使用 Django 1.8 进行项目。通常 PyCharm 有这个简洁的功能,可以在模板中为您自动完成 {% url %} 标签,但是检查对我来说已经失败了一段时间,甚至根本不会发现 url,给我这个错误:

项目运行良好,Django 在运行时发现了所有 url,所以问题应该出在 PyCharm 上。

【问题讨论】:

  • 它是针对每个 url 执行此操作,还是仅针对特定应用程序执行此操作?
  • @Sayse 任何 url,甚至是来自 djangos admin-app 的标准 {% url 'admin:index' %}。
  • 你可以试试File > Invalidate Caches / Restart
  • @Sayse 没有变化:/

标签: python django pycharm


【解决方案1】:

这也让我发疯了。唯一对我有用的是删除两件事(关闭 Pycharm 之后)。

  1. 删除项目目录中的整个 .idea 文件夹。
  2. 删除项目目录中的pycache目录(如果存在)

我重新打开了项目,所有参考问题都消失了。

希望这会有所帮助!

注意:我之前尝试过:

  • 重启 Pycharm
  • 使缓存失效
  • 调整项目首选项并修改 Django 设置以及禁用然后重新启用 Django 支持
  • 调整命名空间、settings.py 文件等。

【讨论】:

    【解决方案2】:

    您是否尝试过为 URL 命名空间?在您的基本 urls.py 文件中,如果您包含来自其他应用程序的 url,我将添加 namespace 和/或 app_name 参数,例如:

    from django.conf.urls import include, url
    
    urlpatterns = [
        url(r'^author-polls/', include('polls.urls', namespace='author-polls')),
        url(r'^publisher-polls/', include('polls.urls', namespace='publisher-polls')),
    
    ]
    

    然后,在您的模板中,尝试

    {% url 'author-polls:author_poll_list' author.pk %}
    

    其中 author_poll_list 是您的特定视图的名称。有关命名空间的更多具体信息,请参阅here

    值得一提的是,任何其他模板标签补全是否在您的模板中工作,例如静态标签,模板包括等?如果不是,那么您可能需要在

    中将模板文件夹标记为模板文件夹

    设置 > 项目 > 项目结构

    我希望这会有所帮助。

    编辑:

    您可能想快速浏览一下:https://youtrack.jetbrains.com/issue/PY-19152 并尝试将您的 PyCharm 升级到版本 2016.1.4,其中包含此问题的修复程序。它看起来与您正在/正在看到的问题类似。

    【讨论】:

    • 我尝试了命名空间,但是,似乎我在实际 urls 文件中所做的任何事情对 PyCharm 都没有影响。是的,有点令人沮丧的是,静态文件、模板标签、过滤器等的任何其他自动完成功能都可以正常工作。我尝试制作一个空白项目以查看 url-resolving 是否有效,并且确实有效,但我似乎看不出设置有任何差异。
    • 可能无济于事,但您能否尝试通过转到 Settings > Languages & Frameworks > Django 为您的项目禁用/重新启用 Django 支持。取消选中 Django 支持,应用,然后重新启用。它将要求您再次提供项目根目录和设置文件的位置。完成后,它应该重建您的项目结构,单击 Show Structure 并查看它是否可以在那里看到您的任何 URL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    相关资源
    最近更新 更多