nan*_*ana 17 python django google-app-engine django-nonrel
首先,我是新手.我正在运行带有Python 2.7的Ubuntu 11.04,所以我在不同的目录中安装了Python2.5,以便在Google App Engine上运行Django-Non-Rel.我做了留言簿教程,现在我正在尝试添加管理员权限但是当我输入正确的用户名时:密码Django认为它不正确.它在部署到GAE时甚至不起作用.如果你知道的话请捅我正确的方向.
我补充说:
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
)
INSTALLED_APPS = (
...
'django.contrib.admin',
....
)
Run Code Online (Sandbox Code Playgroud)
编辑
我也补充说
url(r'^ admin /',include(admin.site.urls)),
到子项目目录中的urls.py.
EOEDIT
然后我创建了超级用户和同步数据库:
> python2.5 xxx-xxx-guestbook/manage.py createsuperuser python2.5
> xxx-xxx-guestbook/manage.py syncdb
Run Code Online (Sandbox Code Playgroud)
然后运行应用程序,无法登录.我创建了多个不同的超级用户,总是有相同的结果.
EDIT2
感谢大家尝试提供帮助,但不幸的是,所提供的解决方案都没有解决问题.我决定先自己学习Django,然后转换到GAE Django-nonrel,所以这个问题不再适用了.我还应该选择一个答案给某人一些积分吗?
Dav*_*cia 25
django-nonrel有一些限制.
要创建超级用户:
创建超级用户
python manage.py createsuperuser
Run Code Online (Sandbox Code Playgroud)再次运行Web服务器
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)假设您拥有正确的用户名和密码,那么唯一会出现与登录失败相同的行为的是is_staff=False对相关用户.
进入数据库并检查auth_user表.确保将is_staff其设置为TRUE您用于登录的用户.
小智 5
在urls.py取消注释:
# Uncomment the next line to enable the admin:
**# url(r'^admin/', include(admin.site.urls)),**
Run Code Online (Sandbox Code Playgroud)
这应该会让你对比赛有好处:)
PS.不要忘记运行./manage.py syncdb,它会要求设置管理员用户.
如果您像我一样是个白痴,您可能会尝试使用电子邮件而不是用户名登录。
我想我这样做是因为在创建超级用户时,我记得输入的是电子邮件而不是用户名(因为 django 为您提供了用户名而无需键入它),也许是使用电子邮件作为用户名的通常惯例.. 伙计,我觉得很愚蠢哈哈。
我也遇到过和你一样的情况。我发现我将身份验证后端切换到
someproject.backends.EmailCheckmodelBackend
在settings.py 中,我添加了一行:
AUTHENTICATION_BACKENDS = ('someproject.backends.EmailCheckModelBackend',)
后端就像:
class EmailCheckModelBackend(ModelBackend):
def authenticate(self, username = None, password = None, is_staff = None):
try:
user = User.objects.get(email = username)
if user.check_password(password):
if is_staff is not None:
if user.is_staff == is_staff:
return user
else:
return None
return user
except User.DoesNotExist:
return None
Run Code Online (Sandbox Code Playgroud)
您会发现实际上用户名被迫由“电子邮件”替代。因此,您必须使用电子邮件帐户登录您的页面。如果喜欢
用户名:someone@somewhere.com
密码:密码
然后它起作用了。希望这对大家有帮助。
| 归档时间: |
|
| 查看次数: |
31790 次 |
| 最近记录: |