Pregunta

Acabo de empezar a jugar con Django y sigo 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 se compilan bien. De lo contrario, todo debería haber sido igual.

Mi problema es con la aplicación de administración. Puedo iniciar sesión en él y ver los modelos editables, pero cuando hago clic en un modelo o en cualquiera de los botones cambiar / agregar, obtengo un 404.

Este es el error exacto que recibo:

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 relevantes 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: solo mostraré 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',
)

Esos deberían ser los archivos / secciones relevantes de los archivos. Si alguien tiene una idea acerca de POR QUÉ estoy obteniendo un 404, por favor, ¿me ilumina?

Tenga en cuenta que, al pegar aquí, las aplicaciones instaladas tenían las últimas 2 aplicaciones tabuladas en lugar de espaciadas * 4, y al recargar la página de administración funcionó durante medio segundo y luego volvió a 404. Extraño. Ideas?

¿Fue útil?

Solución

Se debe a que omitió un / en urls.py . Cambie la línea de administración a lo siguiente:

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

Verifiqué esto en mi servidor y obtuve el mismo error con su línea desde urls.py .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top