2009-11-07 32 views
9

Actualmente me estoy mudando de mi servidor de desarrollo a un servidor de producción web Apache.La aplicación Django no aparece en la interfaz de administración

He intentado hacer lo siguiente con solo copiarlo y puedo iniciar sesión en el panel de administración pero no aparece.

Mi admin.py en mi aplicación es el siguiente:

import models 
    from django.contrib import admin 

    admin.site.register(models.Organization) 

Y aquí es mi models.py

from django.db import models 

class Organization(models.Model): 
    name = models.CharField(max_length=100) 
    website = models.URLField() 
    azon_code = models.CharField(max_length=50) 
    gooe_code = models.CharField(max_length=50) 
    cj_code = models.CharField(max_length=50) 

He resyned la base de datos y se reinicia Apache, así pensar que el poder hacer algo.

+2

No ha olvidado agregarlo a su settings.py, ¿o sí? – lemonad

+0

Sí, lo hice. Muchas gracias! –

+2

¡Jaja, debería haber agregado eso como una respuesta en lugar de un comentario! :) – lemonad

Respuesta

10

¿No se supone que importar como:

from mysite.myapp.models import Organization 
admin.site.register(Organization) 
+0

Lo intenté y aún así no funcionó. ¡Déjame intentarlo de nuevo! –

+0

Acabo de cambiar a su modelo y todavía no voy. Creo que tu modelo es una mejor aplicación de todos modos. Se ve mucho más limpio y es cómo lo he visto en otros sitios. ¡Gracias por el intento! –

+0

como se sugirió @lemonad, ¿lo agregó a su settings.py? –

3

Para aquellos que visitan esta pregunta, la respuesta anterior no funciona directamente en la versión actual de Django (1.7.7).

La respuesta a la pregunta anterior se convierte en:

from myapp.models import Organization 
admin.site.register(Organization) 
3

Para mí fue razón muy tonta. He habilitado permisos. El usuario administrador no tiene permiso para acceder a los modelos.

Di permiso al usuario administrador. Funcionó.

+0

¡Recomiendo echarle un ojo a tus permisos si tienes una variante de este problema! Casi todos los hilos mencionan los permisos, pero estaba bastante seguro de que mi usuario tenía permisos de superusuario y ¡estaba muy equivocado! (Después de una resolución de problemas demasiado larga, vi que site-packages/django/contrib/admin/sites.py decía que no tenía permisos para ver los modelos de mi aplicación registrada. Al verificar los permisos, tampoco había hecho mi administrador usuario superusuario, ni le he dado los permisos necesarios). – sage

0

Otra razón posible para no mostrar la aplicación en la página de administración es que Apache no tiene permisos. Algunas veces creamos una aplicación con permiso para que Apache no pueda acceder a ella. Si Apache no tiene acceso, no se mostrará. Para Linux, los usuarios necesitan cambiar los permisos de la aplicación.

sudo chown -R www-data:www-data app_name 

Este comando dará permisson a Apache para acceder a la carpeta de aplicaciones de forma recursiva.

Cuestiones relacionadas