我的用户和通行证是什么?在AWS EC2上部署django但无法登录admin

vt2*_*253 3 django web-deployment amazon-web-services

我按照亚马逊的这条youtube指令将django web app部署到AWS EB EC2.该网站成功运行.但我无法登录管理员.django民意调查示例中的管理员.我记得在设置过程中,它提示我进行RDS设置,由于我的网络应用程序使用MySQL,我不得不选择RDS设置.当我设置RDS时,它没有提示我创建用户,而只是提示我创建一个密码,我尽职尽责.

https://www.youtube.com/watch?v=YJoOnKiSYws

AWS上也可以找到类似的说明.

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python_django.html

我已经尝试过用户名"root",密码是"空白",可以在我的本地电脑上运行,但当然这会让事情变得简单.

在尝试失败后,我在AWS上的EC2和RDS仪表板上进行了一些搜索,我找到了username = ebroot.

所以我尝试了用户名'ebroot'和密码[rds_password_from_setup],但这不起作用.

我已经尝试了许多其他用户名和密码的组合,但没有任何作用.这可能是问一个在线社区的愚蠢问题,但您认为RDS可能接受的用户名和密码是什么?

dav*_*ode 5

为了在Beanstalk上为我的Django应用程序创建管理员用户,我创建了一个我在containers_commands中调用的自定义Django命令,因此根本不需要人工输入!此外,我将用户/密码定义为环境变量,因此我可以安全地将我的代码置于版本控制之下.我的命令的实现类似于:

import os

from django.core.management.base import BaseCommand

from com.cygora.apps.users.models.User import User

class Command(BaseCommand):

    def handle(self, *args, **options):
        username = os.environ['SUPER_USER_NAME']
        if not User.objects.filter(username=username).exists():
            User.objects.create_superuser(username,
                                          os.environ['SUPER_USER_EMAIL'],
                                          os.environ['SUPER_USER_PASSWORD'])
Run Code Online (Sandbox Code Playgroud)

然后在我的beanstalk配置中:

container_commands:
  02_create_superuser_for_django_admin:
    command: "python manage.py create_cygora_superuser"
    leader_only: true
Run Code Online (Sandbox Code Playgroud)

ps:如果您以前从未创建过自定义Django命令,那么您只需创建一个包:management.commands在您想要的应用程序中(即:/your_project/your_app/management/commands/the_command.py),Django将自动加载它(你可以看到它打字时python manage.py --help)

  • 戴夫,你摇滚!非常感谢! (3认同)