2010-11-13 12 views
5

He estado siguiendo el tutorial de encuestas hasta el punto en que debería tener una página de inicio de sesión para el backend de administración. http://docs.djangoproject.com/en/dev/intro/tutorial02/Página de administración de Django que no muestra

En vez tengo la página de bienvenida de esta manera:

What I get trying to access the admin page

he permitido a la aplicación de administración de INSTALLED_APPS, sincronizan el PP y ajustado urls.py así que no estoy seguro de cuál es el problema .

Ejecutando apache2 con mod_wsgi.

urls.py: de django.conf.urls.defaults importar *

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

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

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

    # Uncomment the next line to enable the admin: 
    (r'^admin/', include(admin.site.urls)), 
) 

settings.py:

... 
INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    'django.contrib.admindocs', 
    'polls' 
) 
... 

Tablas:

base de datos cambiado

mysql> SHOW TABLES; 
+----------------------------+ 
| Tables_in_django_test  | 
+----------------------------+ 
| auth_group     | 
| auth_group_permissions  | 
| auth_message    | 
| auth_permission   | 
| auth_user     | 
| auth_user_groups   | 
| auth_user_user_permissions | 
| django_admin_log   | 
| django_content_type  | 
| django_session    | 
| django_site    | 
| polls_choice    | 
| polls_poll     | 
+----------------------------+ 
+0

Cambiando al servidor web django ya que apache me está dando algunos problemas. La página de administración 404 y la página Trabajó ya no es azul. – Keyo

Respuesta

5

¿Son estas dos líneas muy sangría un espacio, tal como aparece en su puesto?

from django.contrib import admin 
admin.autodiscover() 

Obtendrá un IndentationError si lo hace. Ponlos al ras contra el margen izquierdo.


Más tarde: Oh, veo en un comentario anterior que ha encontrado este error de sangría. Marcando mi respuesta como wiki de la comunidad.

+0

Bien manchado. Por cierto, ¿cuál es el consenso general sobre la sangría? ¿Tabulo o uso espacios? Las pestañas parecen más fáciles. – Keyo

+1

@Keyo: El consenso general es utilizar cuatro espacios. También prefiero las pestañas: puede hacer que su editor muestre una pestaña como quiera que desee. La gente dice: "¿Pero qué pasa si mezclas las pestañas y los espacios principales?!?!?! ¡No pestañas!" De todos modos, si ejecutara el mundo, todos usaríamos pestañas. YMMV. – hughdbrown

+0

Estaba siguiendo el tutorial también, pero aparentemente comienza la "parte 2", sin explicar qué configurar para activar el sitio de administración correctamente – David

4

Si estás haciendo esto a través de Apache y mod_wsgi, entonces no estás siguiendo el tutorial. El tutorial le dice que use el servidor de desarrollo, por una buena razón: con Apache, debe reiniciarlo cada vez que realice un cambio de código. El servidor de desarrollo detecta cambios y se reinicia por usted.

+0

Como puede ver en mi código anterior, hubo algunos problemas de sangría. Era mucho más fácil encontrarlos usando el servidor de Django que hurgando en los registros de apache. Gracias por el consejo, lo tengo funcionando como esperaba ahora. – Keyo

1

Tuve un error idéntico. Solo recibí la página de bienvenida aunque solicité domain.com/admin. Sin embargo, no estoy seguro si nuestros errores se deben a fuentes idénticas porque estoy ejecutando mi sitio django en hostgator con mod_fcgid.

De todos modos, resolví mi problema agregando rutas personalizadas más específicas para python, hasta llegar al directorio que contiene mi archivo wsgi.py.

Mi archivo index.fcgi era:

... 
# Add a custom Python path. (optional) 
sys.path.insert(0, "/home/*username*/django") 

# Switch to the directory of your project. 
... 

Ahora es:

... 
# Add a custom Python path. (optional) 
sys.path.insert(0, "/home/*username*/django") 
sys.path.insert(0, "/home/*username*/django/mysite") 
sys.path.insert(0, "/home/*username*/django/mysite/mysite") 

# Switch to the directory of your project. 
... 

Asumo que esto se debe al código de la página de bienvenida de estar situado a lo largo de un camino situado más cerca del comienzo de la lista de rutas que el código de administración.

Cuestiones relacionadas