Django: cannot import name
Ich habe gerade festgestellt ein sehr lästiges problem beim bereitstellen von neuen updates auf meiner website. Ich habe zwei separate Webseiten in der Erwägung, dass einer von Ihnen ist eine Entwickler-version. Nun, wenn ich möchte meine änderungen, um die Produktion funktioniert es nicht wegen der Fehlermeldung:
Datei
"/usr/lib/python2.6/dist-packages/django/core/handlers/base.py",
line 99, in get_response
Anfrage.path_info)Datei
"/usr/lib/python2.6/dist-packages/django/core/urlresolvers.py",
line 249, in der Auflösung für Muster, die in
selbst.url_patterns:Datei
"/usr/lib/python2.6/dist-packages/django/core/urlresolvers.py",
line 278, in _get_url_patterns
Muster =
getattr(self.urlconf_module,
"urlpatterns", selbst.urlconf_module)Datei
"/usr/lib/python2.6/dist-packages/django/core/urlresolvers.py",
line 273, in _get_urlconf_module
selbst._urlconf_module =
import_module(selbst.urlconf_name)Datei
"/usr/lib/python2.6/dist-packages/django/utils/importlib.py",
Zeile 35, in import_module
import(name)Datei
"/srv/websites/spelutveckla_se/urls.py",
line 21, in
(r'^account/login/$',
LoginView.as_view()),NameError: name 'LoginView' ist nicht
definiert
Ist es egal, ob ich Sie entfernen app, view, die Klasse oder das Modul, weil es wird sich über ein anderes Modul statt. LoginView IST definiert in einer import-Anweisung. Die Dateien sind nur eine frische Kopie von der Entwicklung werden die Dateien (außer settings.py), die ausgeführt wird, auf eine andere subdomain, ohne jedes problem. Ich habe die settings.py mehrmals und sorgte dafür, dass die richtigen Einstellungen gesetzt sind (unterscheidet sich durch ein paar Verzeichnis-Pfade). Ich habe auch überprüft, dass der apache2 www-data Benutzer hat die Berechtigung zum Zugriff auf die Dateien. ich habe auch apache neu gestartet ein paar mal und re-kopiert die Dateien über und über, aber nichts funktioniert.
Ich bin verzweifelt und habe keine Ahnung was das problem sein könnte...?
Hier ist, was mein urls.py sieht aus wie an der Spitze:
from django.conf.urls.defaults import *
from django.conf import settings
from django.views.generic import DetailView, ListView, TemplateView
from django.contrib import admin
from project.models import Project
from project.views import Detail, EditView as EditProject, CreateProjectView, EditProjectLinksView, EditProjectFeedsView, EditProjectTagsView, EditMultimediaView, PostForumTopic, AudioFormset
from frontpage.views import FrontpageView
from userprofile.views import UserRegistrationView, UserRegistrationActivationView, LogoutView, UserProfileView, LoginView, EditProfileView, CreateUserProfileView
from registration.views import activate as UserActivatedView
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie wahrscheinlich hatte eine kreisförmige import in das Modul
LoginView
definiert wurde, d.h. wenn Sie waren importieren, dieviews
Modul definiertLoginView
einige Aussage irgendwie wiederum importiert werden einige andere module, die immer noch darauf wartet, voll interpretiert.Hier ist ein Beispiel, um Ihnen eine bessere Idee:
Einmal
myapp.views
wird importiert und dieSomeCreateView
geben wird zugewiesenen Speicherreverse('myapp:some-url')
wird ausgeführt und Ihremyapp.urls
schließlich importiert werden, von Django, nur dass das nicht immer möglich, damyapp.urls
wird auf unbestimmte Zeit wartenmyapp.views
zu bekommen importiert.Error: cannot import name Cart
. Dann nach ein paar Seite aktualisiert fängt alles an zu arbeiten. Nichts dergleichen geschieht, auf die Produktion. Immer noch das problem ist, dass ich kann nicht laufen ./manage.py Befehl auf Inszenierung, wie es Sie ständig gibt mir eine Fehlermeldung.reverse
url definiert als eine Klasse, variable in meine Modelle. Ich war die Jagd für die Kreis-Importe, nicht andere seltsame Fälle wie diese. Nur mich gerettet eine Menge an den Haaren ziehen.