Perché l'applicazione di amministrazione Django 1.0 non funziona?
Domanda
Ho appena iniziato a giocare con Django e sto seguendo vagamente il tutorial con il mio set di requisiti di base. I modelli che ho delineato finora sono molto più completi del tutorial, ma si compilano bene. Altrimenti, tutto avrebbe dovuto essere lo stesso.
Il mio problema è con l'applicazione di amministrazione. Posso accedere ad esso e visualizzare i modelli modificabili, ma quando faccio clic su un modello o su uno dei pulsanti modifica / aggiungi, ottengo un 404.
Questo è l'errore esatto che ottengo:
Page not found (404)
Request Method: GET
Request URL: http://localhost:8000/admin/auth/user/add/
App u'', model u'auth', not found.
Questi sono i file pertinenti e ciò che è in essi:
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 - Mostrerò solo un modello
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',
)
Questi dovrebbero essere i file / le sezioni rilevanti dei file. Se qualcuno ha un'idea del PERCHÉ sto ricevendo un 404, per favore illuminami?
Nota, quando si incolla qui, le app installate avevano le ultime 2 app a schede anziché spaziate * 4, e quando si ricaricava la pagina di amministrazione funzionava per mezzo secondo, quindi 404 di nuovo. Strano. Idee?
Soluzione
È perché hai lasciato un /
in urls.py
. Modificare la riga dell'amministratore in quanto segue:
(r'^admin/(.*)', admin.site.root),
Ho controllato questo sul mio server e ho ricevuto lo stesso errore con la tua linea da urls.py
.