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可能接受的用户名和密码是什么?
为了在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)
| 归档时间: |
|
| 查看次数: |
1190 次 |
| 最近记录: |