2016-04-27 13 views
3

Ich führe Pycharm 2016.1 und arbeite an einem Projekt mit Django 1.8. Normalerweise PyCharm hat diese nette Funktion, die {% url %} Tags für Sie in Vorlagen automatisch vervollständigen kann jedoch die Inspektion wurde für mich andernfalls für eine Weile jetzt und nicht einmal die Urls entdecken überhaupt, mir diesen Fehler geben:Pycharm kann Django-URLs nicht lösen

unresolved url

Das Projekt funktioniert gut und Django entdeckt alle URLs beim Ausführen, also sollte das Problem mit PyCharm sein.

+0

Macht es das für jede URL oder nur für eine bestimmte App? – Sayse

+0

@Say jede URL, auch die Standard {% URL 'admin: index'%} von Djangos Admin-App. – ampled

+1

Sie könnten 'Datei> Caches ungültig/Neustart versuchen ' – Sayse

Antwort

1

Haben Sie versucht, Ihre URLs zu benennen? In Ihrer Basis urls.py Datei, wenn Sie mit URLs von anderen Anwendungen sind, würde ich fügen Sie den Namespace und/oder app_name Argumente, zum Beispiel:

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')), 

] 

Und dann, in der Vorlage, versuchen

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

wo author_poll_list der Name Ihrer spezifischen Ansicht ist. Weitere Informationen zum Namespacing finden Sie unter here

Eine Sache zu erwähnen ist, ist jede andere Template-Tag-Abschluss in Ihren Vorlagen arbeiten z. statische Tags, Template enthält etc? Wenn dies nicht der Fall ist, müssen Sie möglicherweise Ihre Vorlagenordner als Vorlagenordner in

markieren Ich hoffe, dies hilft.

EDIT:

Möglicherweise möchten Sie auf einen Blick haben: https://youtrack.jetbrains.com/issue/PY-19152 und versuchen Sie Ihr PyCharm auf Version 2016.1.4 zu aktualisieren, die für dieses Problem ein Update umfasst. Es sieht aus wie ein ähnliches Problem zu dem, was Sie sehen.

+1

Ich versuchte Namespacing, aber es scheint, was auch immer ich in der tatsächlichen URL-Datei tun, macht keinen Unterschied für PyCharm. Und ja, irgendwie frustrierend funktioniert jede andere Auto-Vervollständigen-Funktion für statische Dateien, Template-Tags, Filter usw. gut. Ich habe versucht, ein leeres Projekt zu machen, um zu sehen, ob url-resolving funktioniert und das hat es wirklich getan, aber ich kann anscheinend keinen Unterschied im Setup sehen. – ampled

+0

Wahrscheinlich nicht, um zu helfen, aber könntest du versuchen, den Django-Support für dein Projekt zu deaktivieren/wieder zu aktivieren, indem du zu ** Einstellungen> Sprachen & Frameworks> Django ** gehst. Deaktivieren Sie die Django-Unterstützung, ** Übernehmen ** und aktivieren Sie sie erneut. Sie werden aufgefordert, den Speicherort für die Projektstamm- und Einstellungsdatei erneut anzugeben. Danach sollten Sie Ihre Projektstruktur neu erstellen, auf _Show Structure_ klicken und sehen, ob es dort Ihre URLs sehen kann. –