Django admin DoesNotExist à /admin/
J'ai quelques problèmes avec Django admin.
après syncdb, le résultat est:
Creating tables ...
Installing custom SQL ...
Installing indexes ...
No fixtures found.
Qu'est-ce que cela signifie?
De toute façon, lorsque je visite le site panneau d'admin http://www.example.com/admin/, je reçois ce message:
DoesNotExist at /admin/
Site matching query does not exist.
setting.py contient:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
)
ur.py contient:
from django.conf.urls.defaults import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'rshd.views.home', name='home'),
# url(r'^rshd/', include('rshd.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
)
- utilisez simplement
from django.conf.urls.defaults import *
etfrom django.conf import settings
dans votreurls.py
fichier et vérifier - grâce Harshith J. V. Mais ne change rien
- vous pouvez voir le résultat pour syncdb contient pas de création de la table pour l'admin !!!
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas vraiment besoin de la
sites
cadre si vous exécutez un site de le projet, de sorte que la meilleure solution serait d' supprimer l'élément suivant à partir de votreINSTALLED_APPS
et le message d'erreur devrait disparaître:Vous pouvez également re-créer le Site manquant objet de la carapace. Exécuter python manage.py shell, puis:
'django.contrib.sites'
devrait fonctionner'django.contrib.sites'
, assurez-vous que vous avez définiSITE_ID=1
en vous settings.py le cas échéant.Vous pouvez corriger cette erreur si vous utilisez
django.contrib.sites
sans retrait en changeantSITE_ID = 1
valeur danssettings.py
fichier.Il m'arrive quand j'ai changé de nom de domaine sur mon serveur, j'ai supprimé ancien nom de domaine de
http://mynewdomainname.com/admin/sites/site/
manuellement, et de l'ancien domaine enregistrement dans la base de données aid = 1
, aussi j'ai ajouté le nouveau nom de domainemynewdomainname.com
et il est id a étéid = 2
,Je viens de changer de
SITE_ID = 2
et l'erreur a disparu SITE_ID fait référence à l'actuel "pk" de l'actif nom de domaine que vous utilisez en tant que par défaut.Dans le code:
cela se produise après
settings.py
changéÊtre prudent sur l'actualité de l'id de domaine dans django sites app.
Le même problème aussi soudainement venu à moi, et vous le savez, il ya beaucoup de solutions. Cependant, quelle est la raison de cette soudaine problème?
Après creuser profondément, j'ai trouvé la raison en est que, nous avons ignoré une étape dans la première syncdb action.
Lorsque vous avez votre premier syncdb, django va vous demander de créer un compte par défaut, si vous n'avez pas d'entrée dans ce spectacle interactif, ce site a pour but de ne pas être créés automatiquement.
Donc soyez prudent de de ce. Je suis l'aide de django 1.3.1, je ne sais pas si la version la plus récente a résolu ce problème.
simplement résolu le problème par un autre moyen:
J'utilise PostgreSQL et Django 1.45...
comme je l'ai supprimé l'www.example.com Site et ajout d'une nouvelle http://www.xxx.com sur le Site, il a été ajouté que ID=2
"la cause de PostgreSQL ne rentre pas dans les numéros d'identification et la connexion et la déconnexion de Django-Sites sont en quelque sorte lié uniquement à l'ID=1 Site dans votre base de données...
Je suis allé à mon PostgreSQL DB et changé l'ID de http://www.xxx.com 1 et puis j'ai été en mesure de voir la connexion et la déconnexion du Site de nouveau 🙂
btw. [oui, vous ne pouvez tout simplement supprimer le django.contrib.les sites de votre settings.py si vous n'en avez pas besoin ^^ (mais je n'ai pas essayé celui-ci dans mon cas, avec le numéro d'identification de problème)]
espère qu'il va travailler pour d'autres utilisateurs! 😉
Depuis les commentaires ci-dessus sont très anciens, et la
syncdb
commande n'existe pas, et je ne veux pas supprimerdjango.contrib.sites
, voici ce qui a fonctionné pour moi:Incrément
SITE_ID
. J'ai euSITE_ID = 1
, changéSITE_ID = 2
et tout a fonctionné à nouveau.Oui changer le SITE_IT=1 à SITE_ID=2 et tout est ok
Vérifier votre Fenêtre gestionnaire des tâches et assurez-vous qu'il y est 1 nom du processus 'python.exe' est en cours d'exécution. Si il y a beaucoup de, de supprimer tous les d'eux, puis redémarrez le serveur. Cette solution fonctionne pour moi.