2016-04-27 193 views
3

我正在运行Pycharm 2016.1并使用Django 1.8来处理项目。通常PyCharm有这个实用的功能,可以自动完成{% url %}标签为你的模板,但是检查一直是我现在失败了一段时间,甚至不会发现的网址可言,给我这个错误:Pycharm无法解析Django的URL

unresolved url

该项目工作正常,Django运行时发现所有的URL,所以问题应该与PyCharm。

+0

它是否为每个网址或只是特定的应用程序做到这一点? – Sayse

+0

@Sayse任何网址,甚至是来自djangos admin-app的标准{%url'admin:index'%}。 – ampled

+1

你可以尝试'File> Invalidate Caches/Restart' – Sayse

回答

1

您是否试过命名空间的URL?在你的基地urls.py文件,如果你是包括来自其他应用程序的网址,我想补充的命名空间和/或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

有一点需要注意的是,您的模板中是否有任何其他模板标记完成工作,例如:静态标签,模板包括等?如果他们不是那么它可能是你需要标记模板文件夹作为模板文件夹

Settings > Project > Project Structure

我希望这可以帮助。

编辑:

您可能希望有一个快速浏览一下:https://youtrack.jetbrains.com/issue/PY-19152,并尝试你的PyCharm升级到版本2016.1.4,其中包括针对此问题的修复。它看起来像一个类似的问题,你看到/看到。

+1

我试过命名空间,但是,它似乎无论我在实际的URL文件中做什么都没有使PyCharm有所作为。是的,有点令人沮丧的是,任何其他自动完成功能的静态文件,模板标签,过滤器等工作正常。我试图做一个空白的项目,看看url解析是否工作,它确实如此,但我似乎无法看到设置中的任何区别。 – ampled

+0

可能没有帮助,但可以尝试通过转到**设置>语言和框架> Django **禁用/重新启用Django支持您的项目。取消选中Django支持,**应用**,然后重新启用。它会要求您将位置重新提供给项目根目录和设置文件。一旦完成,它应该重建你的项目结构,点击_Show Structure_并查看它是否可以在那里看到你的任何URL。 –