2008-10-31 3 views
5

Ich habe gerade angefangen mit Django zu spielen und folge dem Tutorial mit meinen eigenen Grundanforderungen. Die Modelle, die ich bisher entworfen habe, sind viel umfassender als das Tutorial, aber sie kompilieren gut. Ansonsten hätte alles gleich sein sollen.Warum funktioniert die Django 1.0-Admin-Anwendung nicht?

Mein Problem ist mit der Admin-Anwendung. Ich kann in sie einzuloggen, und die editierbaren Modelle sehen, aber wenn ich auf einem Modell klicken oder einen der Änderung/Schaltflächen hinzufügen, erhalte ich ein 404.

Dies ist die genauen Fehler ich:

Page not found (404) 
Request Method:  GET 
Request URL: http://localhost:8000/admin/auth/user/add/ 

App u'', model u'auth', not found. 

Dies sind die relevanten Dateien und was in ihnen:

urls.py

from django.conf.urls.defaults import * 

# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
# Example: 
# (r'^daso/', include('daso.foo.urls')), 

# Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
# to INSTALLED_APPS to enable admin documentation: 
#(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

# Uncomment the next line to enable the admin: 
    (r'^admin(.*)', admin.site.root) 
) 

admin.py

from daso.clients.models import Person, Client, Contact 
from django.contrib import admin 

admin.site.register(Person) 
admin.site.register(Client) 
admin.site.register(Contact) 

models.py - Ich zeige nur ein Modell

class Client(Person): 
relationships = models.ManyToManyField("Contact", through="Relationship", null=True) 
disabilities = models.ManyToManyField("Disability", related_name="disability", null=True) 
medical_issues = models.ManyToManyField("MedicalIssue", related_name="medical_issue", null=True) 
medicare_num = models.CharField(max_length=15, blank=True) 
insurance = models.OneToOneField("Insurance", null=True, blank=True) 
medications = models.ManyToManyField("Medication", through="Medication_Details", null=True) 

def __unicode__(self): 
    client = u"[Client[id: ", self.id, " name: ", self.first_name, " ", self.last_name, "]" 
    return client 

settings.py

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.admin', 
    'daso.clients', 
) 

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
) 

Diejenigen, sollten die entsprechenden Dateien/Teile von Dateien sein. Wenn jemand eine Idee darüber hat, WARUM ich einen 404 erhalte, bitte erleuchte mich?

Hinweis: Wenn Sie hier einfügen, hatten die installierten Apps die letzten 2 Apps anstelle von * 4, und beim erneuten Laden der Admin-Seite arbeitete sie eine halbe Sekunde lang, dann wieder 404. Seltsam. Ideen?

Antwort

12

Es ist, weil Sie eine / in urls.py weggelassen haben. Ändern Sie den Admin-Zeile wie folgt:

(r'^admin/(.*)', admin.site.root), 

Ich habe diese auf meinem Server und bekam den gleichen Fehler mit Ihrer Linie von urls.py.

+0

wow .. danke! Ich fühle mich jetzt ziemlich dumm, obwohl der Fehler nicht sehr hilfreich ist –

+0

Es ist ein seltsamer Fehler, wahrscheinlich einen Fehler zu melden wert. Ich verstehe immer noch nicht ganz, warum es für die meisten Seiten funktionieren würde, aber brich einige durch. Meine Vermutung ist, dass es "/" nicht richtig ein paar "Verzeichnisse" tief handhabt. – tghw

+0

dies funktioniert auch, wenn Ihr Administrator Passwort ändern und abmelden nicht den absoluten Pfad und gehen Sie zu einem 404 – Rasiel

Verwandte Themen