2008-10-31 14 views
5

Acabo de empezar a jugar con Django y sigo vagamente el tutorial con mi propio conjunto de requisitos básicos. Los modelos que he esbozado hasta ahora son mucho más completos que el tutorial, pero compilan bien. De lo contrario, todo debería haber sido igual.¿Por qué no funciona la aplicación de administrador Django 1.0?

Mi problema es con la aplicación de administración. Puedo acceder a él, y ver los modelos editables, pero cuando hago clic en un modelo o cualquiera de los/cambio de añadir botones, aparece un 404.

Este es el error exacto consigo:

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

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

Estos son los archivos pertinentes y lo que hay en ellos

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 - Voy a mostrarles un modelo

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', 
) 

Aquellos deben ser los archivos/secciones pertinentes de archivos. Si alguien tiene una idea acerca de POR QUÉ obtengo un 404, por favor, ilumíname.

Nota, al pegar aquí, las aplicaciones instaladas tenían las últimas 2 aplicaciones tabuladas en lugar de espaciadas * 4, y al volver a cargar la página de administración funcionó durante medio segundo y luego 404'd nuevamente. Extraño. Ideas?

Respuesta

12

Es porque omitió un / en urls.py. Cambie la línea de administración para lo siguiente:

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

que marcó esta en mi servidor y tiene el mismo error con su línea de urls.py.

+0

wow .. gracias! Me siento bastante estúpido ahora, aunque el error no es muy útil –

+0

Es un error extraño, probablemente valga la pena informar un error. Aún no entiendo completamente por qué funcionaría para la mayoría de las páginas, pero aprovecho algunas. Mi suposición es que no está manejando "/" apropiadamente algunos "directorios" profundos. – tghw

+0

esto también funciona cuando su administrador cambia la contraseña y cierra sesión no toma la ruta absoluta y va a un 404 – Rasiel

Cuestiones relacionadas