Seite 1 von 1

[Django] Models werden auf der Admin-Seite nicht angezeigt.

Verfasst: Mittwoch 9. Januar 2013, 22:29
von Silmaril
Hallo

Seit etwas längerem habe ich mich mal wieder an Django gewagt und bin gleich auf ein Problem gestoßen, dass ich auch mit einer Internetrecherche bisher nicht lösen konnte.

⚫ Ich habe ein Projekt frontend und eine App webapp. In webapp habe ich die Modells Messung, Teilleistung und Blockierung angelegt:
http://de.pastebin.ca/2300812

⚫ In der settings.py habe ich die App und das Admin-Interface aktiviert:
http://de.pastebin.ca/2300814

⚫ Dann habe ich die admin.py angelegt:

Code: Alles auswählen

from frontend.webapp.models import Messung, Teilleistung, Blockierung
from django.contrib import admin

admin.site.register(Messung)
admin.site.register(Teilleistung)
admin.site.register(Blockierung)
⚫ Und die entsprechende Zeile in der urls.py habe ich natürlich auch auskommentiert.

Im Admin-Interface werden aber nur die Punkte Auth und Sites angezeigt. (ausprobiert mit dem Entwicklungsserver)

Was hab ich falsch gemacht?

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Mittwoch 9. Januar 2013, 22:33
von Silmaril
Dieser Tipp hat mich auch nicht weitergebracht. Genauer gesagt lieferte es mir die Fehlermeldung Error: No module named webapp.

Ich bin mit meinem Latein am Ende :cry:

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Mittwoch 9. Januar 2013, 22:44
von Sirius3
@Silmaril: das ist doch schonmal ein Anfang:
Er findet das Modul nicht. Hast Du im webapp-Verzeichnis eine __init__.py?

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Mittwoch 9. Januar 2013, 23:18
von Silmaril
ja, das habe ich @sirius

Ich habe mich im Kommentar vielleicht auch missverständlich ausgedrückt. Er findet das Modul nur nicht, wenn ich den Tipp aus der im Kommentar verlinkten Seite folge. Also wenn ich 'frontend.webapp' in die INSTALLED_APPS reinschreibe anstatt 'webapp', wie es normal ja auch richtig ist.

Wenn ich das ganze wie oben im Beitrag laufen lasse, kommt keine Fehlermeldung aber die Models fehlen halt im Admin-Interface.

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Donnerstag 10. Januar 2013, 08:26
von sparrow
Zeig mal bitte wo welche Datei liegt. Der Befehl "tree" zeigt die Struktur inkl. Unterverzeichnissen und Dateien (unter Windows tree /f glaube ich).

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Donnerstag 10. Januar 2013, 17:32
von Silmaril

Code: Alles auswählen

.
├── frontend
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── settings.py
│   ├── settings.py~
│   ├── settings.pyc
│   ├── urls.py
│   ├── urls.py~
│   ├── urls.pyc
│   ├── wsgi.py
│   └── wsgi.pyc
├── manage.py
├── waermebilanzierung.db
└── webapp
    ├── admin.py 
    ├── admin.py ~
    ├── __init__.py
    ├── __init__.pyc
    ├── models.py
    ├── models.py~
    ├── models.pyc
    ├── tests.py
    └── views.py
(@sparrow: tree ist übrigens ein klasse Tipp, werde ich mir merken)

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Freitag 11. Januar 2013, 08:44
von sparrow
Dann in den Inhalt von installed_apps aus der settings.py und den den Inhalt von webapp\admin.py bitte.

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Samstag 12. Januar 2013, 14:42
von Silmaril
Hab ich doch schon gepostet, sparrow ;)

Code: Alles auswählen

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    'django.contrib.admindocs',
    # eigene Apps:
    'webapp'
)

Code: Alles auswählen

from frontend.webapp.models import Messung, Teilleistung, Blockierung
from django.contrib import admin

admin.site.register(Messung)
admin.site.register(Teilleistung)
admin.site.register(Blockierung)

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Samstag 12. Januar 2013, 14:57
von Sirius3
Warum

Code: Alles auswählen

from frontend.webapp.models import Messung, Teilleistung, Blockierung
wenn doch webapp parallel zu frontend liegt?

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Samstag 12. Januar 2013, 15:25
von Silmaril
Stimmt. Danke. Das ist falsch. Ich habe das nur einfach schnell so umgeändert als der relative Import

Code: Alles auswählen

from .models import Messung, Teilleistung, Blockierung
nicht funktionierte obwohl ich Python 2.7 verwende

Code: Alles auswählen

from webapp.models import Messung, Teilleistung, Blockierung
funktionier aber leider auch nicht (gerade getestet). Oder muss ich nach dem bearbeiten von webapp/admin.py noch mehr machen als nur den Entwicklungsserver neu zu starten?

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Samstag 12. Januar 2013, 16:01
von Sirius3
@Silmaril: ich habe jetzt ein neues Projekt erstellt, Deine models.py, admin.py und settings.py
kopiert und es tut alles einwandfrei.

Fang einfach von vorne an.
Installiere im Zweifel django neu.

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Samstag 12. Januar 2013, 16:14
von Silmaril
Ok, ich fange erst mal an, das Projekt neu zu erstellen. Danke für deine Mühe

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Samstag 12. Januar 2013, 17:31
von Silmaril
Kurze Frage: Kann es damit zu tun haben, dass ich das ganze in einer virtual environment (mit virtualenv) mache?

Ich glaube nicht, aber...

Ich habe jetzt eine neue App angelegt und es danach mit einem ganz neuen Projekt versucht. Beides erfolglos. Ich lege jetzt ein neues virtual environment an und installiere django darin.

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Samstag 12. Januar 2013, 18:03
von Silmaril
Also ich habe jetzt ein neues Virtual Environment angelegt, Django installiert, ein neues Projekt und eine App angelegt und die Dateien wieder mit diesem Inhalt hier befüllt. Ich benutzte dazu übrigens diese Anleitung: http://www.django-workshop.de/

Es funktioniert immer noch nicht

Ich benutze Django 1.4.3 und bin jetzt mit meinem Latein komplett am Ende :K

Weiß jemand, was ich noch versuchen könnte oder wo das Problem herkommen könnte?

Bild

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Samstag 12. Januar 2013, 22:13
von Sirius3
@Silmaril: da hätte ich auch gleich draufkommen können.
Die temporäre Datei im Filetree verrät es ja schon

Code: Alles auswählen

    ├── admin.py ~
Die admin-Datei hat die Endung .py[Leerzeichen]. Der Editor Deiner Wahl scheint wohl
anfällig auf solche Flüchtigkeitsfehler zu sein.

Grüße
Sirius

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Samstag 12. Januar 2013, 22:24
von sparrow
Oh verdammt, _das_ hätte ich nicht gesehen. Hut ab!

Re: [Django] Models werden auf der Admin-Seite nicht angezei

Verfasst: Sonntag 13. Januar 2013, 15:35
von Silmaril
Mensch was war DAS den für ein gemeiner Fehler?!? :shock:

Ich danke dir, Sirius. Ohne dich wüsste ich nicht was ich gemacht hätte. Gesehen hätte ich das jedenfalls nicht. Und weil ich die Datei bei allen meinen Versuchen einfach nur herumkopiert habe, habe ich den Fehler einfach immer mit geschleppt.

Danke nochmal (auch an alle anderen, die mir helfen wollten)