2010-11-27 10 views
0

J'ai eu à un moment donné un fichier urls qui ressemblait à ce que:Django: lorsque vous essayez domain.com/admin donne 404 avec un ancien fichier urls unexisting

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

urlpatterns = patterns('', 
# Example: 
url(r'^$', 'girls.views.home', name = 'home'), 
url(r'^registerasboy$', 'girls.views.regb', name= 'regb'), 
#url(r'^registerasgirl$', 'girls.views.reg', name= 'regg'), 
url(r'^thankyou$', 'girls.views.thankyou', name= 'thankyou'), 
url(r'^newchick$', 'girls.views.newchick', name= 'newchick'), 
url(r'^chicks$', 'girls.views.chicks', name= 'chicks'), 
#url(r'^thankyou$', 'generalsettings.views.thankyou', name = 'thankyou'), 
# Uncomment the admin/doc line below to enable admin documentation: 
# (r'^admin/doc/', include('django.contrib.admindocs.urls')), 
#url(r'^reg$', 'generalsettings.views.home'), 
# Uncomment the next line to enable the admin: 
#(r'^admin/', include(admin.site.urls)), 
#(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root':  settings.MEDIA_ROOT}), 
) 

Et le site a fonctionné. Je n'avais pas d'administrateur. Donc, j'ai décidé de décommenter la ligne d'administration, et je recevrais l'erreur 404

Page non trouvée (404)
Demande Méthode: GET
URL de demande: http://chicklister.com/admin

Using the URLconf defined in chick.urls, Django tried these URL patterns, 
in this order: 
^$ [name='home'] 
^registerasboy$ [name='regb'] 
^thankyou$ [name='thankyou'] 
^newchick$ [name='newchick'] 
^chicks$ [name='chicks'] 
^/(?P<path>.*)$ 
The current URL, admin, didn't match any of these. 

qui est bizarre, parce que la ligne d'admin manque ici. Maintenant, je encore mes urls Updated à:

urlpatterns = patterns ('',
(r^admin/', comprennent (admin.site.urls)),)

et mais je reçois pour admin:

Using the URLconf defined in chick.urls, Django tried these URL patterns, 
in this order: 
^$ [name='home'] 
^registerasboy$ [name='regb'] 
^thankyou$ [name='thankyou'] 
^newchick$ [name='newchick'] 
^chicks$ [name='chicks'] 
^/(?P<path>.*)$ 
The current URL, admin, didn't match any of these. 

et pourtant, tout autre fonctionne URL tels que www.domain.com/thankyou selon les lignes dans le fichier url imprimé

H Comment est-ce possible? On dirait qu'on s'en souvient quelque part.

Étapes que j'ai suivies: J'ai recherché tout le dossier dans www pour 'registerasboy' et je n'ai plus rien retourné. J'ai changé le texte sur le modèle, pour m'assurer que je mets à jour la bonne copie. j'ai les paramètres suivants dans le settings.py:

ROOT_URLCONF = « urls » que je ne remarquais vraiment faire quelque chose, car au début, il était chic.urls

Qu'est-ce que Est-ce que je fais mal? Je ne semble pas même un fichier avec plus de ce contenu ...

Répondre

2

Juste un coup de feu dans l'obscurité:

Avez-vous ajouté l'administrateur dans votre INSTALLED_APPS, fais un syncdb et redémarré le serveur?

Redémarrer le serveur est utile si vous utilisez Apache avec mod_wsgi. Il ne détecte pas les modifications dans le code, vous devez donc le recharger manuellement.

Le serveur de développement recharge automatiquement le code.

Voici les informations sur cette question: http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode

+0

il est dans mes applications installées, oui. – mgPePe

+0

Je viens de redémarrer apache et cela a fonctionné. Bizarre. À quelle fréquence dois-je redémarrer Apache? chaque fois que j'ai une nouvelle mise à jour? – mgPePe

+0

Oui, c'est un problème que j'avais récemment. Je pense que le serveur de développement le rechargerait automatiquement mais pas mod_WSGI. C'est parce que le processus de Django reste vivant et que le code est déjà chargé. Essayez toujours de redémarrer lorsque vous voyez des problèmes comme ça. –