Neuen Python/Django Benutzer (und in der Tat neu zu SO) entfernt werden:Django: Unterstützung für String-Ansicht Argumente url() ist veraltet und wird in Django 1.10
Beim Versuch, mein Django-Projekt zu migrieren, ich ein Fehler:
RemovedInDjango110Warning: Support for string view arguments to url() is deprecated
and will be removed in Django 1.10 (got main.views.home). Pass the callable instead.
url(r'^$', 'main.views.home')
Anscheinend kann das zweite Argument kein String mehr sein. Ich kam, um diesen Code zu erstellen, wie es durch ein Tutorial auf pluralsight.com ist, das lehrt, wie man Django mit einer früheren Version benutzt (ich arbeite gerade mit 1.9). Der Lehrer weist uns an, URL-Muster in urls.py aus den Ansichten zu erstellen, die wir in Apps erstellen. Er lehrt uns eine URLPATTERN wie die folgenden zu erzeugen:
from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', 'main.views.home')
]
def home(request):
return render(request, "main/home.html",
{'message': 'You\'ve met with a terrible fate, haven\'t you?'}) #this message calls HTML, not shown, not important for question
im views.py einer App "main" zu verweisen, die ich schuf.
Wenn diese Methode veraltet ist, wie übergebe ich das View-Argument nicht als String? Wenn ich die Anführungszeichen nur entfernen, wie in der Dokumentation (https://docs.djangoproject.com/en/1.9/topics/http/urls/) gezeigt, erhalte ich eine Fehlermeldung:
NameError: name 'main' is not defined
ich versuchte, „Import“ Ansichten oder Haupt des Code in dieser Dokumentation vorgestellt werden:
from . import views
oder
from . import main
, die mir gegeben haben:
ImportError: cannot import name 'views'
und
ImportError: cannot import name 'main'
Ich glaube, ich dies einen Importfehler nach unten zurückgeführt habe, und zur Zeit, dass die Erforschung ist.
Willkommen beim Stapelüberlauf.Django hat das Layout an einem Punkt so leicht verändert. Ich denke, Sie wollen von den wichtigsten Import-Ansichten, aber ich bin mir nicht sicher ... könnten Sie das versuchen? – Foon
Ja, ich habe auch diese Methode überprüft und es funktioniert auf folgende Weise: Wenn Sie 'von Haupt-Import-Ansichten' verwenden, dann muss Ihr URL-Argument 'url (..., views.home)' sein, nicht 'url (..., main.views.home)' @joey wilhelm veranschaulicht, dass unter – AMadinger