问题
I'm a newbie been going through the django-nonrel tutorials and have set up django-nonrel inside of Google App Engine.
I am now trying to create a superuser using:
manage.py createsuperuser --username=joe --email=joe@example.com
I get
Unknown command: 'createsuperuser'
Type 'manage.py help' for usage
When I type manage.py help, I don't see createsuperuser listed.
Help.
回答1:
Solved this. For anyone else having the same problem, in order to get admin to work:
1) Ensure that django.contrib.auth is installed_apps section in your settings.py
2) Stop runserver, then createsuperuser using manage.py createsuperuser.
AFTER you've created the superuser, start runserver again.
回答2:
For those who are still not able to create superuser, you can try it from appengine admin web interface. When you start your application you can see similar log:
prost@prost-VirtualBox:~/projects/website$ ./manage.py runserver
WARNING:root:The rdbms API is not available because the MySQLdb library could not be loaded.
INFO:google.appengine.tools.appengine_rpc:Server: appengine.google.com
INFO:root:Checking for updates to the SDK.
INFO:root:Running application dev~incloudscz on port 8000: http://127.0.0.1:8000
INFO:root:Admin console is available at: http://127.0.0.1:8000/_ah/admin
...
...
The last line with admin console is URL of an admin interface. You can create/view user there via "Datastore viewer" -> "Entity kind: auth_user" -> "List entities" or "Create entity" with is_superuser set to True.
回答3:
Behind the scenes, Django maintains a list of “authentication backends” that it checks for authentication. As a result of this there could be a few additional problems you can run into. So in addition to @iali's answer. You need to make sure that you.
- make sure that your
settings.MIDDLEWARE_CLASSESdoes not include any additional authentication middleware. - make sure that your
settings.AUTHENTICATION_BACKENDSis not set.
来源:https://stackoverflow.com/questions/3352846/creating-superuser-in-django-nonrel