Ich habe gerade ein sehr nerviges Problem bei der Bereitstellung neuer Updates auf meiner Website festgestellt. Ich habe zwei getrennte Websites, von denen eine eine Entwicklungsversion ist. Jetzt, wenn ich meine Änderungen in der Produktion anwenden möchte, wird es wegen der Fehlermeldung nicht funktionieren:
Datei "/usr/lib/python2.6/dist-packages/django/core/handlers/base.py", Zeile 99, in get_response
request.path_info)Datei "/usr/lib/python2.6/dist-packages/django/core/urlresolvers.py", Zeile 249, für Muster in self.url_patterns:
Datei "/usr/lib/python2.6/dist-packages/django/core/urlresolvers.py", Zeile 278, in _get_url_patterns
Muster = getattr (self.urlconf_modul, "urlpatterns", self.urlconf_module)Datei "/usr/lib/python2.6/dist-packages/django/core/urlresolvers.py", Zeile 273, in _get_urlconf_module
self._urlconf_module = import_module (self.urlconf_name)Datei "/usr/lib/python2.6/dist-packages/django/utils/importlib.py", Zeile 35, in Import_Modul
importieren (Name)Datei "/srv/websites/spelutveckla_se/urls.py", Linie 21, in
('Konto / Login / $', LoginView.as_view ()),NameError: Name 'LoginView' ist nicht definiert
Es spielt keine Rolle, ob ich die App, die Ansicht, die Klasse oder das Modul entferne, weil es sich stattdessen über ein anderes Modul beschweren wird. LoginView wird in einer Importanweisung definiert. Die Dateien sind nur eine neue Kopie der Entwicklungsdateien (mit Ausnahme von settings.py), die ohne Probleme auf einer anderen Sub-Domain ausgeführt werden. Ich habe die settings.py mehrmals überprüft und sichergestellt, dass die richtigen Einstellungen eingestellt sind (unterscheidet sich durch ein paar Verzeichnispfade). Ich habe auch überprüft, dass der Benutzer apache2 www-data die Berechtigung hat, auf die Dateien zuzugreifen. Ich habe auch Apache ein paar Mal neu gestartet und kopiert die Dateien immer wieder, aber nichts funktioniert.
Ich bin verzweifelt und habe keine Ahnung, was das Problem sein könnte ...?
So sieht mein urls.py oben aus:
%Vor% Sie hatten wahrscheinlich einen zirkulären Import in dem Modul LoginView
definiert, dh wenn Sie das Modul views
importiert haben, das LoginView
definiert hat, hat eine Anweisung irgendwie wiederum ein anderes Modul importiert, auf das noch gewartet wurde werde vollständig interpretiert.
Hier ist ein Beispiel, um Ihnen eine bessere Idee zu geben:
%Vor% Sobald myapp.views
importiert wird und der SomeCreateView
Typ dem Speicher zugewiesen wird, wird reverse('myapp:some-url')
ausgeführt und Ihr myapp.urls
wird schließlich von Django importiert, nur das wird nicht möglich sein, seit myapp.urls
wartet unbegrenzt auf myapp.views
, um importiert zu werden.
Tags und Links django import corruption